Network Security v1 API - Class ServerTlsPolicy (1.0.0-beta01)

public sealed class ServerTlsPolicy : IMessage<ServerTlsPolicy>, IEquatable<ServerTlsPolicy>, IDeepCloneable<ServerTlsPolicy>, IBufferMessage, IMessage

Reference documentation and code samples for the Network Security v1 API class ServerTlsPolicy.

ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target HTTPS proxy or endpoint config selector resource.

ServerTlsPolicy in the form accepted by Application Load Balancers can be attached only to TargetHttpsProxy with an EXTERNAL, EXTERNAL_MANAGED or INTERNAL_MANAGED load balancing scheme. Traffic Director compatible ServerTlsPolicies can be attached to EndpointPolicy and TargetHttpsProxy with Traffic Director INTERNAL_SELF_MANAGED load balancing scheme.

Inheritance

object > ServerTlsPolicy

Namespace

Google.Cloud.NetworkSecurity.V1

Assembly

Google.Cloud.NetworkSecurity.V1.dll

Constructors

ServerTlsPolicy()

public ServerTlsPolicy()

ServerTlsPolicy(ServerTlsPolicy)

public ServerTlsPolicy(ServerTlsPolicy other)
Parameter
Name Description
other ServerTlsPolicy

Properties

AllowOpen

public bool AllowOpen { get; set; }

This field applies only for Traffic Director policies. It is must be set to false for Application Load Balancer policies.

Determines if server allows plaintext connections. If set to true, server allows plain text connections. By default, it is set to false. This setting is not exclusive of other encryption modes. For example, if allow_open and mtls_policy are set, server allows both plain text and mTLS connections. See documentation of other encryption modes to confirm compatibility.

Consider using it if you wish to upgrade in place your deployment to TLS while having mixed TLS and non-TLS traffic reaching port :80.

Property Value
Type Description
bool

CreateTime

public Timestamp CreateTime { get; set; }

Output only. The timestamp when the resource was created.

Property Value
Type Description
Timestamp

Description

public string Description { get; set; }

Free-text description of the resource.

Property Value
Type Description
string

Labels

public MapField<string, string> Labels { get; }

Set of label tags associated with the resource.

Property Value
Type Description
MapFieldstringstring

MtlsPolicy

public ServerTlsPolicy.Types.MTLSPolicy MtlsPolicy { get; set; }

This field is required if the policy is used with Application Load Balancers. This field can be empty for Traffic Director.

Defines a mechanism to provision peer validation certificates for peer to peer authentication (Mutual TLS - mTLS). If not specified, client certificate will not be requested. The connection is treated as TLS and not mTLS. If allow_open and mtls_policy are set, server allows both plain text and mTLS connections.

Property Value
Type Description
ServerTlsPolicyTypesMTLSPolicy

Name

public string Name { get; set; }

Required. Name of the ServerTlsPolicy resource. It matches the pattern projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}

Property Value
Type Description
string

ServerCertificate

public CertificateProvider ServerCertificate { get; set; }

Optional if policy is to be used with Traffic Director. For Application Load Balancers must be empty.

Defines a mechanism to provision server identity (public and private keys). Cannot be combined with allow_open as a permissive mode that allows both plain text and TLS is not supported.

Property Value
Type Description
CertificateProvider

ServerTlsPolicyName

public ServerTlsPolicyName ServerTlsPolicyName { get; set; }

ServerTlsPolicyName-typed view over the Name resource name property.

Property Value
Type Description
ServerTlsPolicyName

UpdateTime

public Timestamp UpdateTime { get; set; }

Output only. The timestamp when the resource was updated.

Property Value
Type Description
Timestamp