class Google::Apis::NetworkservicesV1beta1::EndpointPolicy

EndpointPolicy is a resource that helps apply desired configuration on the endpoints that match specific criteria. For example, this resource can be used to apply “authentication config” an all endpoints that serve on port 8080.

Attributes

authorization_policy[RW]

Optional. This field specifies the URL of AuthorizationPolicy resource that applies authorization policies to the inbound traffic at the matched endpoints. Refer to Authorization. If this field is not specified, authorization is disabled(no authz checks) for this endpoint. Applicable only when EndpointPolicyType is SIDECAR_PROXY. Corresponds to the JSON property `authorizationPolicy` @return [String]

client_tls_policy[RW]

Optional. A URL referring to a ClientTlsPolicy resource. ClientTlsPolicy can be set to specify the authentication for traffic from the proxy to the actual endpoints. More specifically, it is applied to the outgoing traffic from the proxy to the endpoint. This is typically used for sidecar model where the proxy identifies itself as endpoint to the control plane, with the connection between sidecar and endpoint requiring authentication. If this field is not set, authentication is disabled(open). Applicable only when EndpointPolicyType is SIDECAR_PROXY. Corresponds to the JSON property `clientTlsPolicy` @return [String]

create_time[RW]

Output only. The timestamp when the resource was created. Corresponds to the JSON property `createTime` @return [String]

description[RW]

Optional. A free-text description of the resource. Max length 1024 characters. Corresponds to the JSON property `description` @return [String]

endpoint_matcher[RW]

A definition of a matcher that selects endpoints to which the policies should be applied. Corresponds to the JSON property `endpointMatcher` @return [Google::Apis::NetworkservicesV1beta1::EndpointMatcher]

labels[RW]

Optional. Set of label tags associated with the EndpointPolicy resource. Corresponds to the JSON property `labels` @return [Hash<String,String>]

name[RW]

Required. Name of the EndpointPolicy resource. It matches pattern `projects/` project`/locations/global/endpointPolicies/`endpoint_policy“. Corresponds to the JSON property `name` @return [String]

server_tls_policy[RW]

Optional. A URL referring to ServerTlsPolicy resource. ServerTlsPolicy is used to determine the authentication policy to be applied to terminate the inbound traffic at the identified backends. If this field is not set, authentication is disabled(open) for this endpoint. Corresponds to the JSON property `serverTlsPolicy` @return [String]

traffic_port_selector[RW]

Specification of a port-based selector. Corresponds to the JSON property `trafficPortSelector` @return [Google::Apis::NetworkservicesV1beta1::TrafficPortSelector]

type[RW]

Required. The type of endpoint policy. This is primarily used to validate the configuration. Corresponds to the JSON property `type` @return [String]

update_time[RW]

Output only. The timestamp when the resource was updated. Corresponds to the JSON property `updateTime` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/networkservices_v1beta1/classes.rb, line 295
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/networkservices_v1beta1/classes.rb, line 300
def update!(**args)
  @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
  @client_tls_policy = args[:client_tls_policy] if args.key?(:client_tls_policy)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @endpoint_matcher = args[:endpoint_matcher] if args.key?(:endpoint_matcher)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @server_tls_policy = args[:server_tls_policy] if args.key?(:server_tls_policy)
  @traffic_port_selector = args[:traffic_port_selector] if args.key?(:traffic_port_selector)
  @type = args[:type] if args.key?(:type)
  @update_time = args[:update_time] if args.key?(:update_time)
end