# Dialogflow V2 API - Class Google::Cloud::Dialogflow::V2::CreateToolRequest (v1.16.1)

1.16.1 (latest) 1.16.0 1.15.0 1.14.0 1.13.0 1.12.1 1.11.0 1.10.1 1.9.1 1.8.0 1.7.0 1.6.0 1.5.0 1.4.1 1.3.0 1.2.0 1.1.1 1.0.0 0.34.0 0.33.0 0.32.2 0.31.0 0.30.0 0.29.0 0.28.0 0.27.0 0.26.2 0.25.0 0.24.0 0.23.0 0.22.0 0.21.0 0.20.0 0.19.0 0.18.0 0.17.1 0.16.0 0.15.2 0.14.0 0.13.0 0.12.0 Reference documentation and code samples for the Dialogflow V2 API class Google::Cloud::Dialogflow::V2::CreateToolRequest.

Request message of CreateTool.

## Inherits

- Object

## Extended By

- Google::Protobuf::MessageExts::ClassMethods

## Includes

- Google::Protobuf::MessageExts

## Methods

### #parent

    def parent() -> ::String

**Returns**

- (::String) --- Required. The project/location to create tool for. Format: `projects/<Project ID>/locations/<Location ID>`

### #parent=

    def parent=(value) -> ::String

**Parameter**

- **value** (::String) --- Required. The project/location to create tool for. Format: `projects/<Project ID>/locations/<Location ID>`
**Returns**

- (::String) --- Required. The project/location to create tool for. Format: `projects/<Project ID>/locations/<Location ID>`

### #tool

    def tool() -> ::Google::Cloud::Dialogflow::V2::Tool

**Returns**

- ([::Google::Cloud::Dialogflow::V2::Tool](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-dialogflow-v2/latest/Google-Cloud-Dialogflow-V2-Tool)) --- Required. The tool to create.

### #tool=

    def tool=(value) -> ::Google::Cloud::Dialogflow::V2::Tool

**Parameter**

- **value** ([::Google::Cloud::Dialogflow::V2::Tool](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-dialogflow-v2/latest/Google-Cloud-Dialogflow-V2-Tool)) --- Required. The tool to create.
**Returns**

- ([::Google::Cloud::Dialogflow::V2::Tool](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-dialogflow-v2/latest/Google-Cloud-Dialogflow-V2-Tool)) --- Required. The tool to create.

### #tool_id

    def tool_id() -> ::String

**Returns**

- (::String) --- Optional. The ID to use for the tool, which will become the final
  component of the tool's resource name.

  The tool ID must be compliant with the regression formula
  `[a-zA-Z][a-zA-Z0-9_-]*` with the characters length in range of \[3,64\].
  If the field is not provide, an Id will be auto-generated.
  If the field is provided, the caller is responsible for
  1. the uniqueness of the ID, otherwise the request will be rejected.
  2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.

### #tool_id=

    def tool_id=(value) -> ::String

**Parameter**

- **value** (::String) ---

  Optional. The ID to use for the tool, which will become the final
  component of the tool's resource name.

  The tool ID must be compliant with the regression formula
  `[a-zA-Z][a-zA-Z0-9_-]*` with the characters length in range of \[3,64\].
  If the field is not provide, an Id will be auto-generated.
  If the field is provided, the caller is responsible for
  1. the uniqueness of the ID, otherwise the request will be rejected.
  2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.
**Returns**

- (::String) --- Optional. The ID to use for the tool, which will become the final
  component of the tool's resource name.

  The tool ID must be compliant with the regression formula
  `[a-zA-Z][a-zA-Z0-9_-]*` with the characters length in range of \[3,64\].
  If the field is not provide, an Id will be auto-generated.
  If the field is provided, the caller is responsible for
  1. the uniqueness of the ID, otherwise the request will be rejected.
  2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.