Add Datastore config. (#116)

* Add Datastore config.

* Rename java final_repo_dir

* Fix timeout
diff --git a/gapic/api/artman_datastore.yaml b/gapic/api/artman_datastore.yaml
new file mode 100644
index 0000000..3143d9b
--- /dev/null
+++ b/gapic/api/artman_datastore.yaml
@@ -0,0 +1,25 @@
+common:
+  api_name: google-datastore-v1
+  import_proto_path:
+    - ${REPOROOT}/googleapis
+  src_proto_path:
+    - ${REPOROOT}/googleapis/google/datastore/v1
+  service_yaml:
+    - ${REPOROOT}/googleapis/google/datastore/datastore.yaml
+  output_dir: ${REPOROOT}/artman/output
+  gapic_api_yaml:
+    - ${REPOROOT}/googleapis/google/datastore/v1/datastore_gapic.yaml
+java:
+  final_repo_dir: ${REPOROOT}/google-cloud-java/google-cloud-datastore
+python:
+  final_repo_dir: ${REPOROOT}/artman/output/gcloud-python-datastore
+go:
+  final_repo_dir: ${REPOROOT}/gapi-datastore-go
+csharp:
+  final_repo_dir: ${REPOROOT}/artman/output/gcloud-csharp-datastore
+ruby:
+  final_repo_dir: ${REPOROOT}/google-cloud-ruby/google-cloud-datastore
+php:
+  final_repo_dir: ${REPOROOT}/artman/output/gcloud-php-datastore
+nodejs:
+  final_repo_dir: ${REPOROOT}/google-cloud-node/packages/datastore
diff --git a/google/datastore/datastore.yaml b/google/datastore/datastore.yaml
new file mode 100644
index 0000000..b135105
--- /dev/null
+++ b/google/datastore/datastore.yaml
@@ -0,0 +1,22 @@
+type: google.api.Service
+config_version: 1
+name: datastore.googleapis.com
+
+title: Google Cloud Datastore API
+
+documentation:
+  summary:  >
+    Accesses the schemaless NoSQL database to provide fully managed, robust,
+    scalable storage for your application.
+
+apis:
+- name: google.datastore.v1.Datastore
+
+# Auth section
+authentication:
+  rules:
+    - selector: '*'
+      oauth:
+        canonical_scopes: https://www.googleapis.com/auth/datastore,
+                          https://www.googleapis.com/auth/cloud-platform
+
diff --git a/google/datastore/v1/datastore_gapic.yaml b/google/datastore/v1/datastore_gapic.yaml
new file mode 100644
index 0000000..514c5cc
--- /dev/null
+++ b/google/datastore/v1/datastore_gapic.yaml
@@ -0,0 +1,117 @@
+type: com.google.api.codegen.ConfigProto
+generate_samples: true
+language_settings:
+  java:
+    package_name: com.google.cloud.datastore.spi.v1
+  python:
+    package_name: google.cloud.datastore.v1
+  go:
+    package_name: cloud.google.com/go/datastore/apiv1
+  csharp:
+    package_name: Google.Datastore.V1
+  ruby:
+    package_name: Google::Cloud::Datastore::V1
+  php:
+    package_name: Google\Cloud\Datastore\V1
+  nodejs:
+    package_name: "@google-cloud/datastore"
+interfaces:
+- name: google.datastore.v1.Datastore
+  collections: []
+  retry_codes_def:
+  - name: idempotent
+    retry_codes:
+    - UNAVAILABLE
+    - DEADLINE_EXCEEDED
+  - name: non_idempotent
+    retry_codes: []
+  retry_params_def:
+  - name: default
+    initial_retry_delay_millis: 100
+    retry_delay_multiplier: 1.3
+    max_retry_delay_millis: 60000
+    initial_rpc_timeout_millis: 60000
+    rpc_timeout_multiplier: 1
+    max_rpc_timeout_millis: 60000
+    total_timeout_millis: 600000
+  methods:
+  - name: Lookup
+    flattening:
+      groups:
+      - parameters:
+        - project_id
+        - read_options
+        - keys
+    required_fields:
+    - project_id
+    - read_options
+    - keys
+    request_object_method: true
+    retry_codes_name: idempotent
+    retry_params_name: default
+    timeout_millis: 60000
+  - name: RunQuery
+    required_fields:
+    - project_id
+    - partition_id
+    - read_options
+    - query
+    - gql_query
+    request_object_method: true
+    retry_codes_name: idempotent
+    retry_params_name: default
+    timeout_millis: 60000
+  - name: BeginTransaction
+    flattening:
+      groups:
+      - parameters:
+        - project_id
+    required_fields:
+    - project_id
+    request_object_method: false
+    retry_codes_name: non_idempotent
+    retry_params_name: default
+    timeout_millis: 60000
+  - name: Commit
+    flattening:
+      groups:
+      - parameters:
+        - project_id
+        - mode
+        - transaction
+        - mutations
+    required_fields:
+    - project_id
+    - mode
+    - transaction
+    - mutations
+    request_object_method: true
+    retry_codes_name: non_idempotent
+    retry_params_name: default
+    timeout_millis: 60000
+  - name: Rollback
+    flattening:
+      groups:
+      - parameters:
+        - project_id
+        - transaction
+    required_fields:
+    - project_id
+    - transaction
+    request_object_method: true
+    retry_codes_name: non_idempotent
+    retry_params_name: default
+    timeout_millis: 60000
+  - name: AllocateIds
+    flattening:
+      groups:
+      - parameters:
+        - project_id
+        - keys
+    required_fields:
+    - project_id
+    - keys
+    request_object_method: true
+    retry_codes_name: non_idempotent
+    retry_params_name: default
+    timeout_millis: 60000