Add GAPIC configuration files

pull/9/head
Jacob Geiger 9 years ago
parent 5fd17fb8a2
commit f34e196e75
  1. 29
      gapic/api/artman_logging.yaml
  2. 24
      gapic/api/artman_pubsub.yaml
  3. 7
      gapic/core/artman_core.yaml
  4. 17
      gapic/lang/common.yaml
  5. 6
      gapic/lang/csharp_gapic.yaml
  6. 6
      gapic/lang/go_gapic.yaml
  7. 7
      gapic/lang/java_gapic.yaml
  8. 5
      gapic/lang/php_gapic.yaml
  9. 7
      gapic/lang/python_gapic.yaml
  10. 80
      google/logging/v2/logging.yaml
  11. 242
      google/logging/v2/logging_gapic.yaml
  12. 52
      google/pubsub/v1/pubsub.yaml
  13. 246
      google/pubsub/v1/pubsub_gapic.yaml

@ -0,0 +1,29 @@
logging_common:
api_name: logging-v2
import_proto_path:
- ${THISDIR}/../..
src_proto_path:
- ${THISDIR}/../../google/logging/v2
service_yaml:
- ${THISDIR}/../../google/logging/v2/logging.yaml
auto_merge: true
auto_resolve: true
ignore_base: false
output_dir: ${REPOROOT}/artman/output
gapic_api_yaml:
- ${THISDIR}/../../google/logging/v2/logging_gapic.yaml
logging_type:
api_name: logging-type
import_proto_path:
- ${THISDIR}/../..
src_proto_path:
- ${THISDIR}/../../google/logging/type
output_dir: ${REPOROOT}/artman/output
logging_java:
final_repo_dir: ${REPOROOT}/gcloud-java/gcloud-java-logging
logging_python:
final_repo_dir: ${REPOROOT}/artman/output/gcloud-python-logging
logging_go:
final_repo_dir: ${REPOROOT}/gapi-logging-go
logging_csharp:
final_repo_dir: ${REPOROOT}/artman/output/gcloud-csharp-logging

@ -0,0 +1,24 @@
pubsub_common:
api_name: pubsub-v1
import_proto_path:
- ${THISDIR}/../..
src_proto_path:
- ${THISDIR}/../../google/pubsub/v1
service_yaml:
- ${THISDIR}/../../google/pubsub/v1/pubsub.yaml
gapic_api_yaml:
- ${THISDIR}/../../google/pubsub/v1/pubsub_gapic.yaml
auto_merge: true
auto_resolve: true
ignore_base: false
output_dir: ${REPOROOT}/artman/output
pubsub_java:
final_repo_dir: ${REPOROOT}/gcloud-java/gcloud-java-pubsub
pubsub_python:
final_repo_dir: ${REPOROOT}/artman/output/gcloud-python-pubsub
pubsub_go:
final_repo_dir: ${REPOROOT}/gapi-pubsub-go
pubsub_csharp:
final_repo_dir: ${REPOROOT}/artman/output/gcloud-csharp-pubsub
pubsub_php:
final_repo_dir: ${REPOROOT}/artman/output/gcloud-php-pubsub

@ -0,0 +1,7 @@
core:
api_name: core
import_proto_path:
- ${THISDIR}/../..
src_proto_path:
- ${THISDIR}/../..
output_dir: ${REPOROOT}/artman/output

@ -0,0 +1,17 @@
default:
toolkit_path: ${REPOROOT}/toolkit
java:
gapic_language_yaml:
- ${THISDIR}/java_gapic.yaml
python:
gapic_language_yaml:
- ${THISDIR}/python_gapic.yaml
go:
gapic_language_yaml:
- ${THISDIR}/go_gapic.yaml
csharp:
gapic_language_yaml:
- ${THISDIR}/csharp_gapic.yaml
php:
gapic_language_yaml:
- ${THISDIR}/php_gapic.yaml

@ -0,0 +1,6 @@
type: io.gapi.vgen.ConfigProto
language: csharp
language_provider: io.gapi.vgen.csharp.CSharpGapicLanguageProvider
snippet_files:
- wrapper.snip
archive: false

@ -0,0 +1,6 @@
type: io.gapi.vgen.ConfigProto
language: go
language_provider: io.gapi.vgen.go.GoGapicLanguageProvider
snippet_files:
- main.snip
- doc.snip

@ -0,0 +1,7 @@
type: io.gapi.vgen.ConfigProto
language: java
language_provider: io.gapi.vgen.java.JavaGapicLanguageProvider
snippet_files:
- main.snip
- settings.snip
archive: false

@ -0,0 +1,5 @@
type: io.gapi.vgen.ConfigProto
language: php
language_provider: io.gapi.vgen.py.PhpGapicLanguageProvider
snippet_files:
- main.snip

@ -0,0 +1,7 @@
type: io.gapi.vgen.ConfigProto
language: python
language_provider: io.gapi.vgen.py.PythonGapicLanguageProvider
snippet_files:
- main.snip
doc_snippet_files:
- message.snip

@ -0,0 +1,80 @@
# Google Cloud Logging API service configuration
type: google.api.Service
config_version: 2
name: logging.googleapis.com
title: Google Cloud Logging API
apis:
- name: google.logging.v2.LoggingServiceV2
- name: google.logging.v2.ConfigServiceV2
- name: google.logging.v2.MetricsServiceV2
documentation:
summary:
The Google Cloud Logging API lets you write log
entries and manage your logs, log sinks and logs-based metrics.
overview: |
(== suppress_warning versioning-http-version-prefix ==)
# Auth section
authentication:
rules:
- selector: |-
google.logging.v1.LoggingService.DeleteLog,
google.logging.v1.ConfigService.CreateLogServiceSink,
google.logging.v1.ConfigService.CreateLogSink,
google.logging.v1.ConfigService.CreateSink,
google.logging.v1.ConfigService.DeleteLogServiceSink,
google.logging.v1.ConfigService.DeleteLogSink,
google.logging.v1.ConfigService.DeleteSink,
google.logging.v1.ConfigService.UpdateLogServiceSink,
google.logging.v1.ConfigService.UpdateLogSink,
google.logging.v1.ConfigService.UpdateSink,
google.logging.v2.LoggingServiceV2.DeleteLog,
google.logging.v2.ConfigServiceV2.CreateSink,
google.logging.v2.ConfigServiceV2.DeleteSink,
google.logging.v2.ConfigServiceV2.UpdateSink,
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/logging.admin,
https://www.googleapis.com/auth/cloud-platform
- selector: |-
google.logging.v1.LoggingService.ListLogEntries,
google.logging.v1.LoggingService.ListLogServiceIndexes,
google.logging.v1.LoggingService.ListLogServices,
google.logging.v1.LoggingService.ListLogs,
google.logging.v1.ConfigService.GetLogServiceSink,
google.logging.v1.ConfigService.GetLogSink,
google.logging.v1.ConfigService.GetSink,
google.logging.v1.ConfigService.ListLogServiceSinks,
google.logging.v1.ConfigService.ListLogSinks,
google.logging.v1.ConfigService.ListSinks,
google.logging.v1.MetricsService.GetLogMetric,
google.logging.v1.MetricsService.ListLogMetrics,
google.logging.v2.LoggingServiceV2.ListLogEntries,
google.logging.v2.LoggingServiceV2.ListMonitoredResourceDescriptors,
google.logging.v2.ConfigServiceV2.GetSink,
google.logging.v2.ConfigServiceV2.ListSinks,
google.logging.v2.MetricsServiceV2.GetLogMetric,
google.logging.v2.MetricsServiceV2.ListLogMetrics
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/logging.read,
https://www.googleapis.com/auth/logging.admin,
https://www.googleapis.com/auth/cloud-platform.read-only,
https://www.googleapis.com/auth/cloud-platform
- selector: |-
google.logging.v1.LoggingService.WriteLogEntries,
google.logging.v1.MetricsService.CreateLogMetric,
google.logging.v1.MetricsService.DeleteLogMetric,
google.logging.v1.MetricsService.UpdateLogMetric,
google.logging.v2.LoggingServiceV2.WriteLogEntries,
google.logging.v2.MetricsServiceV2.CreateLogMetric,
google.logging.v2.MetricsServiceV2.DeleteLogMetric,
google.logging.v2.MetricsServiceV2.UpdateLogMetric
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/logging.write,
https://www.googleapis.com/auth/logging.admin,
https://www.googleapis.com/auth/cloud-platform

@ -0,0 +1,242 @@
type: io.gapi.vgen.ConfigProto
language_settings:
java:
package_name: com.google.cloud.logging.spi.v2
python:
package_name: gcloud.logging
go:
package_name: google.golang.org/cloud/logging
csharp:
package_name: Google.Logging.V2
interfaces:
- name: google.logging.v2.ConfigServiceV2
collections:
- name_pattern: projects/{project}
method_base_name: project
- name_pattern: projects/{project}/sinks/{sink}
method_base_name: sink
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.2
max_retry_delay_millis: 1000
initial_rpc_timeout_millis: 2000
rpc_timeout_multiplier: 1.5
max_rpc_timeout_millis: 30000
total_timeout_millis: 45000
methods:
- name: ListSinks
flattening:
groups:
- parameters:
- project_name
page_streaming:
request:
token_field: page_token
response:
token_field: next_page_token
resources_field: sinks
retry_codes_name: idempotent
retry_params_name: default
request_object_method: true
- name: GetSink
flattening:
groups:
- parameters:
- sink_name
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
- name: CreateSink
flattening:
groups:
- parameters:
- project_name
- sink
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: UpdateSink
flattening:
groups:
- parameters:
- sink_name
- sink
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: DeleteSink
flattening:
groups:
- parameters:
- sink_name
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
- name: google.logging.v2.MetricsServiceV2
collections:
- name_pattern: projects/{project}
method_base_name: project
- name_pattern: projects/{project}/metrics/{metric}
method_base_name: metric
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.2
max_retry_delay_millis: 1000
initial_rpc_timeout_millis: 2000
rpc_timeout_multiplier: 1.5
max_rpc_timeout_millis: 30000
total_timeout_millis: 45000
methods:
- name: ListLogMetrics
flattening:
groups:
- parameters:
- project_name
page_streaming:
request:
token_field: page_token
response:
token_field: next_page_token
resources_field: metrics
retry_codes_name: idempotent
retry_params_name: default
request_object_method: true
- name: GetLogMetric
flattening:
groups:
- parameters:
- metric_name
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
- name: CreateLogMetric
flattening:
groups:
- parameters:
- project_name
- metric
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: UpdateLogMetric
flattening:
groups:
- parameters:
- metric_name
- metric
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: DeleteLogMetric
flattening:
groups:
- parameters:
- metric_name
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
- name: google.logging.v2.LoggingServiceV2
collections:
- name_pattern: projects/{project}
method_base_name: project
- name_pattern: projects/{project}/logs/{log}
method_base_name: log
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.2
max_retry_delay_millis: 1000
initial_rpc_timeout_millis: 2000
rpc_timeout_multiplier: 1.5
max_rpc_timeout_millis: 30000
total_timeout_millis: 45000
- name: list
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.2
max_retry_delay_millis: 1000
initial_rpc_timeout_millis: 7000
rpc_timeout_multiplier: 1.5
max_rpc_timeout_millis: 30000
total_timeout_millis: 45000
methods:
- name: DeleteLog
flattening:
groups:
- parameters:
- log_name
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
- name: WriteLogEntries
flattening:
groups:
- parameters:
- log_name
- resource
- labels
- entries
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: ListLogEntries
flattening:
groups:
- parameters:
- project_ids
- filter
- order_by
page_streaming:
request:
token_field: page_token
response:
token_field: next_page_token
resources_field: entries
retry_codes_name: idempotent
retry_params_name: list
request_object_method: true
- name: ListMonitoredResourceDescriptors
page_streaming:
request:
token_field: page_token
response:
token_field: next_page_token
resources_field: resource_descriptors
retry_codes_name: idempotent
retry_params_name: default
request_object_method: true

@ -0,0 +1,52 @@
# Google Cloud Pub/Sub API service configuration
type: google.api.Service
config_version: 1
name: pubsub-experimental.googleapis.com
title: Google Cloud Pub/Sub API
documentation:
summary: >
Provides reliable, many-to-many, asynchronous messaging between
applications.
rules:
- selector: >
google.pubsub.v1.Topic.name,
description: |
The name of the topic. It must have the format
`"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
signs (`%`). It must be between 3 and 255 characters in length, and it
must not start with `"goog"`.
- selector: >
google.pubsub.v1.Subscription.name,
description: |
The name of the subscription. It must have the format
`"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
start with a letter, and contain only letters (`[A-Za-z]`), numbers
(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
in length, and it must not start with `"goog"`.
apis:
- name: google.pubsub.v1.Publisher
- name: google.pubsub.v1.Subscriber
# Pass origin and project RpcServerExtensions to the backend.
context:
rules:
- selector: '*'
requested:
- google.rpc.context.OriginContext
- google.rpc.context.ProjectContext
# Auth section
authentication:
rules:
- selector: '*'
oauth:
canonical_scopes: https://www.googleapis.com/auth/pubsub,
https://www.googleapis.com/auth/cloud-platform

@ -0,0 +1,246 @@
type: io.gapi.vgen.ConfigProto
language_settings:
java:
package_name: com.google.cloud.pubsub.spi.v1
python:
package_name: gcloud.pubsub
go:
package_name: google.golang.org/cloud/pubsub
csharp:
package_name: Google.Pubsub.V1
interfaces:
- name: google.pubsub.v1.Subscriber
collections:
- name_pattern: projects/{project}
method_base_name: project
- name_pattern: projects/{project}/subscriptions/{subscription}
method_base_name: subscription
- name_pattern: projects/{project}/topics/{topic}
method_base_name: topic
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.2
max_retry_delay_millis: 1000
initial_rpc_timeout_millis: 2000
rpc_timeout_multiplier: 1.5
max_rpc_timeout_millis: 30000
total_timeout_millis: 45000
methods:
- name: CreateSubscription
flattening:
groups:
- parameters:
- name
- topic
- push_config
- ack_deadline_seconds
required_fields:
- name
- topic
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: GetSubscription
flattening:
groups:
- parameters:
- subscription
required_fields:
- subscription
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
- name: ListSubscriptions
page_streaming:
request:
token_field: page_token
response:
token_field: next_page_token
resources_field: subscriptions
flattening:
groups:
- parameters:
- project
required_fields:
- project
retry_codes_name: idempotent
retry_params_name: default
request_object_method: true
- name: DeleteSubscription
flattening:
groups:
- parameters:
- subscription
required_fields:
- subscription
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
- name: ModifyAckDeadline
flattening:
groups:
- parameters:
- subscription
- ack_ids
- ack_deadline_seconds
required_fields:
- subscription
- ack_ids
- ack_deadline_seconds
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: Acknowledge
flattening:
groups:
- parameters:
- subscription
- ack_ids
required_fields:
- subscription
- ack_ids
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: Pull
flattening:
groups:
- parameters:
- subscription
- return_immediately
- max_messages
required_fields:
- subscription
- max_messages
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: ModifyPushConfig
flattening:
groups:
- parameters:
- subscription
- push_config
required_fields:
- subscription
- push_config
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
- name: google.pubsub.v1.Publisher
collections:
- name_pattern: projects/{project}
method_base_name: project
- name_pattern: projects/{project}/topics/{topic}
method_base_name: topic
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.2
max_retry_delay_millis: 1000
initial_rpc_timeout_millis: 2000
rpc_timeout_multiplier: 1.5
max_rpc_timeout_millis: 30000
total_timeout_millis: 45000
methods:
- name: CreateTopic
flattening:
groups:
- parameters:
- name
required_fields:
- name
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
- name: Publish
flattening:
groups:
- parameters:
- topic
- messages
required_fields:
- topic
- messages
retry_codes_name: non_idempotent
retry_params_name: default
request_object_method: true
bundling:
thresholds:
element_count_threshold: 800
element_count_limit: 1000 # server limit
request_byte_threshold: 8388608 # 8 mb
request_byte_limit: 10485760 # 10 mb - server limit
delay_threshold_millis: 100
bundle_descriptor:
bundled_field: messages
discriminator_fields:
- topic
subresponse_field: message_ids
- name: GetTopic
flattening:
groups:
- parameters:
- topic
required_fields:
- topic
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
- name: ListTopics
page_streaming:
request:
token_field: page_token
response:
token_field: next_page_token
resources_field: topics
flattening:
groups:
- parameters:
- project
required_fields:
- project
retry_codes_name: idempotent
retry_params_name: default
request_object_method: true
- name: ListTopicSubscriptions
page_streaming:
request:
token_field: page_token
response:
token_field: next_page_token
resources_field: subscriptions
flattening:
groups:
- parameters:
- topic
required_fields:
- topic
retry_codes_name: idempotent
retry_params_name: default
request_object_method: true
- name: DeleteTopic
flattening:
groups:
- parameters:
- topic
required_fields:
- topic
retry_codes_name: idempotent
retry_params_name: default
request_object_method: false
Loading…
Cancel
Save