class_docstr: Interact with Pinecone. This hook uses the Pinecone conn_id.
  
  :param conn_id: Optional, default connection id is `pinecone_default`. The connection id to use when
      connecting to Pinecone.
class_docstr_tok: ["Interact","with","Pinecone",".","This","hook","uses","the","Pinecone","conn_id",".",":","param","conn_id",":","Optional",",","default","connection","id","is","`","pinecone_default","`",".","The","connection","id","to","use","when","connecting","to","Pinecone","."]
docstr: Create a new index.
  
  .. seealso:: https://docs.pinecone.io/reference/create_index/
  
  :param index_name: The name of the index to create.
  :param dimension: the dimension of vectors that would be inserted in the index
  :param index_type: type of index, one of {"approximated", "exact"}, defaults to "approximated".
  :param metric: type of metric used in the vector index, one of {"cosine", "dotproduct", "euclidean"}
  :param replicas: the number of replicas, defaults to 1.
  :param shards: the number of shards per index, defaults to 1.
  :param pods: Total number of pods to be used by the index. pods = shard*replicas
  :param pod_type: the pod type to be used for the index. can be one of p1 or s1.
  :param index_config: Advanced configuration options for the index
  :param metadata_config: Configuration related to the metadata index
  :param source_collection: Collection name to create the index from
  :param timeout: Timeout for wait until index gets ready.
docstr_tok: ["Create","a","new","index",".","..","seealso",":",":","https",":","\/\/docs.pinecone.io\/reference\/create_index\/",":","param","index_name",":","The","name","of","the","index","to","create",".",":","param","dimension",":","the","dimension","of","vectors","that","would","be","inserted","in","the","index",":","param","index_type",":","type","of","index",",","one","of","{","``","approximated","''",",","``","exact","''","}",",","defaults","to","``","approximated","''",".",":","param","metric",":","type","of","metric","used","in","the","vector","index",",","one","of","{","``","cosine","''",",","``","dotproduct","''",",","``","euclidean","''","}",":","param","replicas",":","the","number","of","replicas",",","defaults","to","1.",":","param","shards",":","the","number","of","shards","per","index",",","defaults","to","1.",":","param","pods",":","Total","number","of","pods","to","be","used","by","the","index",".","pods","=","shard","*","replicas",":","param","pod_type",":","the","pod","type","to","be","used","for","the","index",".","can","be","one","of","p1","or","s1",".",":","param","index_config",":","Advanced","configuration","options","for","the","index",":","param","metadata_config",":","Configuration","related","to","the","metadata","index",":","param","source_collection",":","Collection","name","to","create","the","index","from",":","param","timeout",":","Timeout","for","wait","until","index","gets","ready","."]
code: def create_index(
      index_name: str,
      dimension: int,
      index_type: str | None = "approximated",
      metric: str | None = "cosine",
      replicas: int | None = 1,
      shards: int | None = 1,
      pods: int | None = 1,
      pod_type: str | None = "p1",
      index_config: dict[str, str] | None = None,
      metadata_config: dict[str, str] | None = None,
      source_collection: str | None = "",
      timeout: int | None = None,
  ) -> None:
      """
      Create a new index.
  
      .. seealso:: https://docs.pinecone.io/reference/create_index/
  
      :param index_name: The name of the index to create.
      :param dimension: the dimension of vectors that would be inserted in the index
      :param index_type: type of index, one of {"approximated", "exact"}, defaults to "approximated".
      :param metric: type of metric used in the vector index, one of {"cosine", "dotproduct", "euclidean"}
      :param replicas: the number of replicas, defaults to 1.
      :param shards: the number of shards per index, defaults to 1.
      :param pods: Total number of pods to be used by the index. pods = shard*replicas
      :param pod_type: the pod type to be used for the index. can be one of p1 or s1.
      :param index_config: Advanced configuration options for the index
      :param metadata_config: Configuration related to the metadata index
      :param source_collection: Collection name to create the index from
      :param timeout: Timeout for wait until index gets ready.
      """
      pinecone.create_index(
          name=index_name,
          timeout=timeout,
          index_type=index_type,
          dimension=dimension,
          metric=metric,
          pods=pods,
          replicas=replicas,
          shards=shards,
          pod_type=pod_type,
          metadata_config=metadata_config,
          source_collection=source_collection,
          index_config=index_config,
      )
  
imports: from __future__ import annotations
  import itertools
  from typing import TYPE_CHECKING, Any
  import pinecone
  from airflow.hooks.base import BaseHook
label_desc: Use image node_id 8 for calling the PineconeHook obj's underlying member method code with example usage: obj.create_index(index_name, dimension, index_type, metric, replicas, shards, pods, pod_type, index_config, metadata_config, source_collection, timeout) without return types