All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.ResourceReferenceKt.kt Maven / Gradle / Ivy

// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/api/resource.proto

// Generated files should ignore deprecation warnings
@file:Suppress("DEPRECATION")
package com.google.api;

@kotlin.jvm.JvmName("-initializeresourceReference")
public inline fun resourceReference(block: com.google.api.ResourceReferenceKt.Dsl.() -> kotlin.Unit): com.google.api.ResourceReference =
  com.google.api.ResourceReferenceKt.Dsl._create(com.google.api.ResourceReference.newBuilder()).apply { block() }._build()
/**
 * ```
 * Defines a proto annotation that describes a string field that refers to
 * an API resource.
 * ```
 *
 * Protobuf type `google.api.ResourceReference`
 */
public object ResourceReferenceKt {
  @kotlin.OptIn(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)
  @com.google.protobuf.kotlin.ProtoDslMarker
  public class Dsl private constructor(
    private val _builder: com.google.api.ResourceReference.Builder
  ) {
    public companion object {
      @kotlin.jvm.JvmSynthetic
      @kotlin.PublishedApi
      internal fun _create(builder: com.google.api.ResourceReference.Builder): Dsl = Dsl(builder)
    }

    @kotlin.jvm.JvmSynthetic
    @kotlin.PublishedApi
    internal fun _build(): com.google.api.ResourceReference = _builder.build()

    /**
     * ```
     * The resource type that the annotated field references.
     *
     * Example:
     *
     *     message Subscription {
     *       string topic = 2 [(google.api.resource_reference) = {
     *         type: "pubsub.googleapis.com/Topic"
     *       }];
     *     }
     *
     * Occasionally, a field may reference an arbitrary resource. In this case,
     * APIs use the special value * in their resource reference.
     *
     * Example:
     *
     *     message GetIamPolicyRequest {
     *       string resource = 2 [(google.api.resource_reference) = {
     *         type: "*"
     *       }];
     *     }
     * ```
     *
     * `string type = 1;`
     */
    public var type: kotlin.String
      @JvmName("getType")
      get() = _builder.getType()
      @JvmName("setType")
      set(value) {
        _builder.setType(value)
      }
    /**
     * ```
     * The resource type that the annotated field references.
     *
     * Example:
     *
     *     message Subscription {
     *       string topic = 2 [(google.api.resource_reference) = {
     *         type: "pubsub.googleapis.com/Topic"
     *       }];
     *     }
     *
     * Occasionally, a field may reference an arbitrary resource. In this case,
     * APIs use the special value * in their resource reference.
     *
     * Example:
     *
     *     message GetIamPolicyRequest {
     *       string resource = 2 [(google.api.resource_reference) = {
     *         type: "*"
     *       }];
     *     }
     * ```
     *
     * `string type = 1;`
     */
    public fun clearType() {
      _builder.clearType()
    }

    /**
     * ```
     * The resource type of a child collection that the annotated field
     * references. This is useful for annotating the `parent` field that
     * doesn't have a fixed resource type.
     *
     * Example:
     *
     *     message ListLogEntriesRequest {
     *       string parent = 1 [(google.api.resource_reference) = {
     *         child_type: "logging.googleapis.com/LogEntry"
     *       };
     *     }
     * ```
     *
     * `string child_type = 2;`
     */
    public var childType: kotlin.String
      @JvmName("getChildType")
      get() = _builder.getChildType()
      @JvmName("setChildType")
      set(value) {
        _builder.setChildType(value)
      }
    /**
     * ```
     * The resource type of a child collection that the annotated field
     * references. This is useful for annotating the `parent` field that
     * doesn't have a fixed resource type.
     *
     * Example:
     *
     *     message ListLogEntriesRequest {
     *       string parent = 1 [(google.api.resource_reference) = {
     *         child_type: "logging.googleapis.com/LogEntry"
     *       };
     *     }
     * ```
     *
     * `string child_type = 2;`
     */
    public fun clearChildType() {
      _builder.clearChildType()
    }
  }
}
@kotlin.jvm.JvmSynthetic
public inline fun com.google.api.ResourceReference.copy(block: `com.google.api`.ResourceReferenceKt.Dsl.() -> kotlin.Unit): com.google.api.ResourceReference =
  `com.google.api`.ResourceReferenceKt.Dsl._create(this.toBuilder()).apply { block() }._build()





© 2015 - 2024 Weber Informatics LLC | Privacy Policy