Class: Google::Apis::NetworkservicesV1beta1::EndpointPolicy

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/networkservices_v1beta1/classes.rb,
lib/google/apis/networkservices_v1beta1/representations.rb,
lib/google/apis/networkservices_v1beta1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ EndpointPolicy

Returns a new instance of EndpointPolicy.



719
720
721
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 719

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#authorization_policyString

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. Corresponds to the JSON property authorizationPolicy

Returns:

  • (String)


645
646
647
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 645

def authorization_policy
  @authorization_policy
end

#client_tls_policyString

Optional. Deprecated: This field is not used and is a no-op. 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

Returns:

  • (String)


658
659
660
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 658

def client_tls_policy
  @client_tls_policy
end

#create_timeString

Output only. The timestamp when the resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


663
664
665
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 663

def create_time
  @create_time
end

#descriptionString

Optional. A free-text description of the resource. Max length 1024 characters. Corresponds to the JSON property description

Returns:

  • (String)


668
669
670
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 668

def description
  @description
end

#endpoint_matcherGoogle::Apis::NetworkservicesV1beta1::EndpointMatcher

A definition of a matcher that selects endpoints to which the policies should be applied. Corresponds to the JSON property endpointMatcher



674
675
676
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 674

def endpoint_matcher
  @endpoint_matcher
end

#labelsHash<String,String>

Optional. Set of label tags associated with the EndpointPolicy resource. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


679
680
681
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 679

def labels
  @labels
end

#nameString

Identifier. Name of the EndpointPolicy resource. It matches pattern projects/ project/locations/*/endpointPolicies/endpoint_policy`. Corresponds to the JSON propertyname`

Returns:

  • (String)


685
686
687
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 685

def name
  @name
end

#security_policyString

Optional. A URL referring to a SecurityPolicy resource. SecurityPolicy is used to enforce rate limiting policy on the inbound traffic at the identified backends. If this field is not set, rate limiting is disabled for this endpoint. Corresponds to the JSON property securityPolicy

Returns:

  • (String)


693
694
695
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 693

def security_policy
  @security_policy
end

#server_tls_policyString

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

Returns:

  • (String)


701
702
703
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 701

def server_tls_policy
  @server_tls_policy
end

#traffic_port_selectorGoogle::Apis::NetworkservicesV1beta1::TrafficPortSelector

Specification of a port-based selector. Corresponds to the JSON property trafficPortSelector



706
707
708
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 706

def traffic_port_selector
  @traffic_port_selector
end

#typeString

Required. The type of endpoint policy. This is primarily used to validate the configuration. Corresponds to the JSON property type

Returns:

  • (String)


712
713
714
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 712

def type
  @type
end

#update_timeString

Output only. The timestamp when the resource was updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


717
718
719
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 717

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



724
725
726
727
728
729
730
731
732
733
734
735
736
737
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 724

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)
  @security_policy = args[:security_policy] if args.key?(:security_policy)
  @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