Class: Google::Apis::ApigeeV1::GoogleCloudApigeeV1TraceConfig

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

Overview

TraceConfig defines the configurations in an environment of distributed trace.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudApigeeV1TraceConfig

Returns a new instance of GoogleCloudApigeeV1TraceConfig.



13293
13294
13295
# File 'lib/google/apis/apigee_v1/classes.rb', line 13293

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

Instance Attribute Details

#endpointString

Required. Endpoint of the exporter. Corresponds to the JSON property endpoint

Returns:

  • (String)


13233
13234
13235
# File 'lib/google/apis/apigee_v1/classes.rb', line 13233

def endpoint
  @endpoint
end

#exporterString

Required. Exporter that is used to view the distributed trace captured using the chosen trace protocol. An exporter sends traces to any backend that is capable of consuming them. Recorded spans can be exported by registered exporters. Corresponds to the JSON property exporter

Returns:

  • (String)


13241
13242
13243
# File 'lib/google/apis/apigee_v1/classes.rb', line 13241

def exporter
  @exporter
end

#mtls_configGoogle::Apis::ApigeeV1::GoogleCloudApigeeV1TraceConfigOtelMtlsConfig

OtelMtlsConfig configures mutual TLS for the outbound OTel Collector connection by referencing already-uploaded Keystore/Truststore aliases. Key/ cert material is uploaded via the existing Keystore Alias APIs (POST .../ keystores/ks/aliases), the same APIs used to configure mTLS for TargetServer.tls_info. Only the resource IDs of those aliases live in this message; no secret material is inlined into TraceConfig. Field shape mirrors TlsInfo used by TargetServer.tls_info: - key_store and trust_store accept either a plain keystore ID or a ref://referenceID`URI (an environment-scoped Reference whoseresource_typeisKeyStore/TrustStore). References enable rotation without editing the TraceConfig itself. - key_aliasis the plain alias ID withinkey_store. Fields that would normally appear onTlsInfo(enabled, client_auth_enabled, protocols, enforce, ignore_validation_errors) are intentionally omitted from this customer surface. The runtime enforces secure defaults: - Mutual TLS is always required (both server AND client cert exchanged). - Server certificate validation is always strict (no ignoring errors). - TLS 1.2 and TLS 1.3 are enabled; older versions are rejected. Corresponds to the JSON propertymtlsConfig`



13262
13263
13264
# File 'lib/google/apis/apigee_v1/classes.rb', line 13262

def mtls_config
  @mtls_config
end

#otel_collector_security_schemeString

Optional. The security scheme for the OTel Collector endpoint. Defaults to NONE (unauthenticated OTLP/HTTP), preserving today's behavior for existing configurations. Only applicable when exporter == OPEN_TELEMETRY_COLLECTOR. Corresponds to the JSON property otelCollectorSecurityScheme

Returns:

  • (String)


13269
13270
13271
# File 'lib/google/apis/apigee_v1/classes.rb', line 13269

def otel_collector_security_scheme
  @otel_collector_security_scheme
end

#sampling_configGoogle::Apis::ApigeeV1::GoogleCloudApigeeV1TraceSamplingConfig

TraceSamplingConfig represents the detail settings of distributed tracing. Only the fields that are defined in the distributed trace configuration can be overridden using the distribute trace configuration override APIs. Corresponds to the JSON property samplingConfig



13276
13277
13278
# File 'lib/google/apis/apigee_v1/classes.rb', line 13276

def sampling_config
  @sampling_config
end

#span_semanticsString

Optional. The span semantics to use. Configuration Requirements (if span_semantics is OTEL): - trace_protocol must be OTLP. Corresponds to the JSON property spanSemantics

Returns:

  • (String)


13282
13283
13284
# File 'lib/google/apis/apigee_v1/classes.rb', line 13282

def span_semantics
  @span_semantics
end

#trace_protocolString

Optional. The trace protocol to use. Configuration Requirements (if trace_protocol is OTLP): - Allowed Exporters: CLOUD_TRACE or OPEN_TELEMETRY_COLLECTOR. - If Exporter is OPEN_TELEMETRY_COLLECTOR: - endpoint refers to a valid OTLP collector URL. - If Exporter is CLOUD_TRACE: - endpoint refers to a valid project ID. Corresponds to the JSON property traceProtocol

Returns:

  • (String)


13291
13292
13293
# File 'lib/google/apis/apigee_v1/classes.rb', line 13291

def trace_protocol
  @trace_protocol
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



13298
13299
13300
13301
13302
13303
13304
13305
13306
# File 'lib/google/apis/apigee_v1/classes.rb', line 13298

def update!(**args)
  @endpoint = args[:endpoint] if args.key?(:endpoint)
  @exporter = args[:exporter] if args.key?(:exporter)
  @mtls_config = args[:mtls_config] if args.key?(:mtls_config)
  @otel_collector_security_scheme = args[:otel_collector_security_scheme] if args.key?(:otel_collector_security_scheme)
  @sampling_config = args[:sampling_config] if args.key?(:sampling_config)
  @span_semantics = args[:span_semantics] if args.key?(:span_semantics)
  @trace_protocol = args[:trace_protocol] if args.key?(:trace_protocol)
end