{"action":"created","comment":{"url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/comments/37561243","id":37561243,"diff_hunk":"@@ -0,0 +1,358 @@\n+# encoding: utf-8\n+#\n+#Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n+#\n+#Licensed under the Apache License, Version 2.0 (the \"License\");\n+#you may not use this file except in compliance with the License.\n+#You may obtain a copy of the License at\n+#\n+#    http://www.apache.org/licenses/LICENSE-2.0\n+#\n+#Unless required by applicable law or agreed to in writing, software\n+#distributed under the License is distributed on an \"AS IS\" BASIS,\n+#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+#See the License for the specific language governing permissions and\n+#limitations under the License.\n+#\n+require \"logstash/inputs/base\"\n+require \"logstash/namespace\"\n+require \"securerandom\"\n+require \"thread\"\n+require \"socket\"\n+require_relative \"LogStashRecordProcessorFactory\"\n+require_relative \"DynamoDBLogParser\"\n+\n+#Java Dependencies: KCL, Streams Adapter, Log4j, Preview AWS SDK\n+require 'java'\n+begin\n+  require 'jar-dependencies'\n+  require_jar( 'com.amazonaws', 'amazon-kinesis-client', '1.6.0' )\n+  require_jar( 'log4j', 'log4j', '1.2.17' )\n+  require_jar( 'com.google.guava', 'guava', '15.0' )\n+  require_jar( 'com.amazonaws', 'aws-java-sdk-core', '1.10.10' )\n+  require_jar( 'com.amazonaws', 'aws-java-sdk-cloudwatch', '1.10.8' )\n+  require_jar( 'com.amazonaws', 'aws-java-sdk-dynamodb', '1.10.10' )\n+  require_jar( 'com.amazonaws', 'aws-java-sdk-kinesis', '1.10.8' )\n+  require_jar( 'com.amazonaws', 'dynamodb-streams-kinesis-adapter', '1.0.0' )\n+  require_jar( 'com.amazonaws', 'dynamodb-import-export-tool', '1.0.0' )\n+  require_jar( 'commons-logging', 'commons-logging', '1.1.3')\n+  require_jar( 'org.apache.httpcomponents', 'httpclient', '4.3.6')\n+  require_jar( 'org.apache.httpcomponents', 'httpcore', '4.3.3')\n+  require_jar( 'com.fasterxml.jackson.core', 'jackson-databind', '2.5.3' )\n+  require_jar( 'joda-time', 'joda-time', '2.8.1')\n+end\n+\n+java_import \"com.amazonaws.AmazonClientException\"\n+java_import \"org.apache.log4j.LogManager\"\n+java_import \"org.apache.log4j.Level\"\n+java_import \"com.fasterxml.jackson.annotation.JsonInclude\"\n+java_import \"com.amazonaws.regions.RegionUtils\"\n+\n+module AmazonDynamoDB\n+  include_package \"com.amazonaws\"\n+  include_package \"com.amazonaws.services.dynamodbv2\"\n+  include_package \"com.amazonaws.services.dynamodbv2.streamsadapter\"\n+  include_package \"com.amazonaws.services.dynamodbv2.model\"\n+end\n+module AmazonCredentials\n+  include_package \"com.amazonaws.auth\"\n+  include_package \"com.amazonaws.internal\"\n+end\n+\n+module DynamoDBBootstrap\n+  include_package \"com.amazonaws.dynamodb.bootstrap\"\n+end\n+\n+module CloudWatch\n+  include_package \"com.amazonaws.services.cloudwatch\"\n+end\n+\n+module KCL\n+  include_package \"com.amazonaws.services.kinesis.clientlibrary.lib.worker\"\n+end\n+\n+#DynamoDBStreams plugin that will first scan the DynamoDB table\n+#and then consume streams and push those records into Logstash\n+class LogStash::Inputs::DynamoDB < LogStash::Inputs::Base\n+  config_name \"dynamodb\"\n+\n+  USER_AGENT = \" logstash-input-dynamodb/1.0.0\".freeze\n+\n+  LF_DYNAMODB = \"dymamodb\".freeze\n+  LF_JSON_NO_BIN = \"json_drop_binary\".freeze\n+  LF_PLAIN = \"plain\".freeze\n+  LF_JSON_BIN_AS_TEXT = \"json_binary_as_text\".freeze\n+  VT_KEYS_ONLY = \"keys_only\".freeze\n+  VT_OLD_IMAGE = \"old_image\".freeze\n+  VT_NEW_IMAGE = \"new_image\".freeze\n+  VT_ALL_IMAGES = \"new_and_old_images\".freeze\n+\n+  default :codec, 'json'\n+\n+  # The name of the table to copy and stream through Logstash\n+  config :table_name, :validate => :string, :required => true\n+\n+  # Configuration for what information from the scan and streams to include in the log.\n+  # keys_only will return the hash and range keys along with the values for each entry\n+  # new_image will return the entire new entry and keys\n+  # old_image will return the entire entry before modification and keys (NOTE: Cannot perform scan when using this option)\n+  # new_and_old_images will return the old entry before modification along with the new entry and keys\n+  config :view_type, :validate => [VT_KEYS_ONLY, VT_OLD_IMAGE, VT_NEW_IMAGE, VT_ALL_IMAGES], :required => true\n+\n+  # Endpoint from which the table is located. Example: dynamodb.us-east-1.amazonaws.com\n+  config :endpoint, :validate => :string, :required => true\n+\n+  # Endpoint from which streams should read. Example: streams.dynamodb.us-east-1.amazonaws.com\n+  config :streams_endpoint, :validate => :string\n+\n+  # AWS credentials access key.\n+  config :aws_access_key_id, :validate => :string, :default => \"\"\n+\n+  # AWS credentials secret access key.\n+  config :aws_secret_access_key, :validate => :string, :default => \"\"\n+\n+  # A flag to indicate whether or not the plugin should scan the entire table before streaming new records.\n+  # Streams will only push records that are less than 24 hours old, so in order to get the entire table\n+  # an initial scan must be done.\n+  config :perform_scan, :validate => :boolean, :default => true\n+\n+  # A string that uniquely identifies the KCL checkpointer name and cloudwatch metrics name.\n+  # This is used when one worker leaves a shard so that another worker knows where to start again.\n+  config :checkpointer, :validate => :string, :default => \"logstash_input_dynamodb_cptr\"\n+\n+  # Option to publish metrics to Cloudwatch using the checkpointer name.\n+  config :publish_metrics, :validate => :boolean, :default => false\n+\n+  # Option to not automatically stream new data into logstash from DynamoDB streams.\n+  config :perform_stream, :validate => :boolean, :default => true\n+\n+  # Number of read operations per second to perform when scanning the specified table.\n+  config :read_ops, :validate => :number, :default => 1\n+\n+  # Number of threads to use when scanning the specified table\n+  config :number_of_scan_threads, :validate => :number, :default => 1\n+\n+  # Number of threads to write to the logstash queue when scanning the table\n+  config :number_of_write_threads, :validate => :number, :default => 1\n+\n+  # Configuation for how the logs will be transferred.\n+  # plain is simply pass the message along without editing it.\n+  # dynamodb will return just the data specified in the view_format in dynamodb format.\n+    # For more information see: docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html\n+  # json_drop_binary will return just the data specified in the view_format in JSON while not including any binary values that were present.\n+  # json_binary_as_text will return just the data specified in the view_format in JSON while including binary values as base64-encoded text.\n+  config :log_format, :validate => [LF_PLAIN, LF_DYNAMODB, LF_JSON_NO_BIN, LF_JSON_BIN_AS_TEXT], :default => \"plain\"\n+\n+  public\n+  def build_credentials\n+    if not @aws_access_key_id.to_s.empty? and not @aws_secret_access_key.to_s.empty?","path":"lib/logstash/inputs/dynamodb.rb","position":148,"original_position":148,"commit_id":"0db4f9fb69e1e0fb16606bce77cee44750b384fb","original_commit_id":"0db4f9fb69e1e0fb16606bce77cee44750b384fb","user":{"login":"brandontom","id":3899879,"avatar_url":"https://avatars.githubusercontent.com/u/3899879?v=3","gravatar_id":"","url":"https://api.github.com/users/brandontom","html_url":"https://github.com/brandontom","followers_url":"https://api.github.com/users/brandontom/followers","following_url":"https://api.github.com/users/brandontom/following{/other_user}","gists_url":"https://api.github.com/users/brandontom/gists{/gist_id}","starred_url":"https://api.github.com/users/brandontom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brandontom/subscriptions","organizations_url":"https://api.github.com/users/brandontom/orgs","repos_url":"https://api.github.com/users/brandontom/repos","events_url":"https://api.github.com/users/brandontom/events{/privacy}","received_events_url":"https://api.github.com/users/brandontom/received_events","type":"User","site_admin":false},"body":"OK, thanks for letting me know. Changed in all locations.","created_at":"2015-08-20T18:04:55Z","updated_at":"2015-08-20T18:04:55Z","html_url":"https://github.com/logstash-plugins/logstash-input-dynamodb/pull/1#discussion_r37561243","pull_request_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/comments/37561243"},"html":{"href":"https://github.com/logstash-plugins/logstash-input-dynamodb/pull/1#discussion_r37561243"},"pull_request":{"href":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/1","id":42303639,"html_url":"https://github.com/logstash-plugins/logstash-input-dynamodb/pull/1","diff_url":"https://github.com/logstash-plugins/logstash-input-dynamodb/pull/1.diff","patch_url":"https://github.com/logstash-plugins/logstash-input-dynamodb/pull/1.patch","issue_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/issues/1","number":1,"state":"open","locked":false,"title":"Initial commit logstash-input-dynamodb","user":{"login":"brandontom","id":3899879,"avatar_url":"https://avatars.githubusercontent.com/u/3899879?v=3","gravatar_id":"","url":"https://api.github.com/users/brandontom","html_url":"https://github.com/brandontom","followers_url":"https://api.github.com/users/brandontom/followers","following_url":"https://api.github.com/users/brandontom/following{/other_user}","gists_url":"https://api.github.com/users/brandontom/gists{/gist_id}","starred_url":"https://api.github.com/users/brandontom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brandontom/subscriptions","organizations_url":"https://api.github.com/users/brandontom/orgs","repos_url":"https://api.github.com/users/brandontom/repos","events_url":"https://api.github.com/users/brandontom/events{/privacy}","received_events_url":"https://api.github.com/users/brandontom/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-08-13T00:12:53Z","updated_at":"2015-08-20T18:04:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b6cb0ec9a43cc79f80927b21a1b9867630d5b7ad","assignee":{"login":"purbon","id":68540,"avatar_url":"https://avatars.githubusercontent.com/u/68540?v=3","gravatar_id":"","url":"https://api.github.com/users/purbon","html_url":"https://github.com/purbon","followers_url":"https://api.github.com/users/purbon/followers","following_url":"https://api.github.com/users/purbon/following{/other_user}","gists_url":"https://api.github.com/users/purbon/gists{/gist_id}","starred_url":"https://api.github.com/users/purbon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/purbon/subscriptions","organizations_url":"https://api.github.com/users/purbon/orgs","repos_url":"https://api.github.com/users/purbon/repos","events_url":"https://api.github.com/users/purbon/events{/privacy}","received_events_url":"https://api.github.com/users/purbon/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/1/commits","review_comments_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/1/comments","review_comment_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/issues/1/comments","statuses_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/statuses/0db4f9fb69e1e0fb16606bce77cee44750b384fb","head":{"label":"brandontom:master","ref":"master","sha":"0db4f9fb69e1e0fb16606bce77cee44750b384fb","user":{"login":"brandontom","id":3899879,"avatar_url":"https://avatars.githubusercontent.com/u/3899879?v=3","gravatar_id":"","url":"https://api.github.com/users/brandontom","html_url":"https://github.com/brandontom","followers_url":"https://api.github.com/users/brandontom/followers","following_url":"https://api.github.com/users/brandontom/following{/other_user}","gists_url":"https://api.github.com/users/brandontom/gists{/gist_id}","starred_url":"https://api.github.com/users/brandontom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brandontom/subscriptions","organizations_url":"https://api.github.com/users/brandontom/orgs","repos_url":"https://api.github.com/users/brandontom/repos","events_url":"https://api.github.com/users/brandontom/events{/privacy}","received_events_url":"https://api.github.com/users/brandontom/received_events","type":"User","site_admin":false},"repo":{"id":40626842,"name":"logstash-input-dynamodb","full_name":"brandontom/logstash-input-dynamodb","owner":{"login":"brandontom","id":3899879,"avatar_url":"https://avatars.githubusercontent.com/u/3899879?v=3","gravatar_id":"","url":"https://api.github.com/users/brandontom","html_url":"https://github.com/brandontom","followers_url":"https://api.github.com/users/brandontom/followers","following_url":"https://api.github.com/users/brandontom/following{/other_user}","gists_url":"https://api.github.com/users/brandontom/gists{/gist_id}","starred_url":"https://api.github.com/users/brandontom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brandontom/subscriptions","organizations_url":"https://api.github.com/users/brandontom/orgs","repos_url":"https://api.github.com/users/brandontom/repos","events_url":"https://api.github.com/users/brandontom/events{/privacy}","received_events_url":"https://api.github.com/users/brandontom/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/brandontom/logstash-input-dynamodb","description":"DynamoDB input","fork":true,"url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb","forks_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/forks","keys_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/teams","hooks_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/hooks","issue_events_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/issues/events{/number}","events_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/events","assignees_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/assignees{/user}","branches_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/branches{/branch}","tags_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/tags","blobs_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/git/refs{/sha}","trees_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/statuses/{sha}","languages_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/languages","stargazers_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/stargazers","contributors_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/contributors","subscribers_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/subscribers","subscription_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/subscription","commits_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/commits{/sha}","git_commits_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/git/commits{/sha}","comments_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/comments{/number}","issue_comment_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/issues/comments{/number}","contents_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/contents/{+path}","compare_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/merges","archive_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/downloads","issues_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/issues{/number}","pulls_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/pulls{/number}","milestones_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/milestones{/number}","notifications_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/labels{/name}","releases_url":"https://api.github.com/repos/brandontom/logstash-input-dynamodb/releases{/id}","created_at":"2015-08-12T22:13:58Z","updated_at":"2015-08-12T22:16:41Z","pushed_at":"2015-08-18T00:36:48Z","git_url":"git://github.com/brandontom/logstash-input-dynamodb.git","ssh_url":"git@github.com:brandontom/logstash-input-dynamodb.git","clone_url":"https://github.com/brandontom/logstash-input-dynamodb.git","svn_url":"https://github.com/brandontom/logstash-input-dynamodb","homepage":null,"size":118,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"logstash-plugins:master","ref":"master","sha":"4b6d603a925af998a205865b59251c72e69aabab","user":{"login":"logstash-plugins","id":8961934,"avatar_url":"https://avatars.githubusercontent.com/u/8961934?v=3","gravatar_id":"","url":"https://api.github.com/users/logstash-plugins","html_url":"https://github.com/logstash-plugins","followers_url":"https://api.github.com/users/logstash-plugins/followers","following_url":"https://api.github.com/users/logstash-plugins/following{/other_user}","gists_url":"https://api.github.com/users/logstash-plugins/gists{/gist_id}","starred_url":"https://api.github.com/users/logstash-plugins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/logstash-plugins/subscriptions","organizations_url":"https://api.github.com/users/logstash-plugins/orgs","repos_url":"https://api.github.com/users/logstash-plugins/repos","events_url":"https://api.github.com/users/logstash-plugins/events{/privacy}","received_events_url":"https://api.github.com/users/logstash-plugins/received_events","type":"Organization","site_admin":false},"repo":{"id":38906839,"name":"logstash-input-dynamodb","full_name":"logstash-plugins/logstash-input-dynamodb","owner":{"login":"logstash-plugins","id":8961934,"avatar_url":"https://avatars.githubusercontent.com/u/8961934?v=3","gravatar_id":"","url":"https://api.github.com/users/logstash-plugins","html_url":"https://github.com/logstash-plugins","followers_url":"https://api.github.com/users/logstash-plugins/followers","following_url":"https://api.github.com/users/logstash-plugins/following{/other_user}","gists_url":"https://api.github.com/users/logstash-plugins/gists{/gist_id}","starred_url":"https://api.github.com/users/logstash-plugins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/logstash-plugins/subscriptions","organizations_url":"https://api.github.com/users/logstash-plugins/orgs","repos_url":"https://api.github.com/users/logstash-plugins/repos","events_url":"https://api.github.com/users/logstash-plugins/events{/privacy}","received_events_url":"https://api.github.com/users/logstash-plugins/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/logstash-plugins/logstash-input-dynamodb","description":"DynamoDB input","fork":false,"url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb","forks_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/forks","keys_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/teams","hooks_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/hooks","issue_events_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/issues/events{/number}","events_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/events","assignees_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/assignees{/user}","branches_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/branches{/branch}","tags_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/tags","blobs_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/git/refs{/sha}","trees_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/statuses/{sha}","languages_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/languages","stargazers_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/stargazers","contributors_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/contributors","subscribers_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/subscribers","subscription_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/subscription","commits_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/commits{/sha}","git_commits_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/git/commits{/sha}","comments_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/comments{/number}","issue_comment_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/issues/comments{/number}","contents_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/contents/{+path}","compare_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/merges","archive_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/downloads","issues_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/issues{/number}","pulls_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls{/number}","milestones_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/milestones{/number}","notifications_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/labels{/name}","releases_url":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/releases{/id}","created_at":"2015-07-10T23:45:40Z","updated_at":"2015-07-10T23:45:40Z","pushed_at":"2015-08-18T00:36:48Z","git_url":"git://github.com/logstash-plugins/logstash-input-dynamodb.git","ssh_url":"git@github.com:logstash-plugins/logstash-input-dynamodb.git","clone_url":"https://github.com/logstash-plugins/logstash-input-dynamodb.git","svn_url":"https://github.com/logstash-plugins/logstash-input-dynamodb","homepage":null,"size":248,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/1"},"html":{"href":"https://github.com/logstash-plugins/logstash-input-dynamodb/pull/1"},"issue":{"href":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/issues/1"},"comments":{"href":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/logstash-plugins/logstash-input-dynamodb/statuses/0db4f9fb69e1e0fb16606bce77cee44750b384fb"}}}}