aws-sdk-code-generator 0.2.0.pre → 0.2.1.pre

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+ module {{module_name}}
7
+
8
+ {{#documentation?}}
9
+ # This class provides a resource oriented interface for {{service_name}}.
10
+ # To create a resource object:
11
+ #
12
+ # resource = {{module_name}}::Resource.new(region: 'us-west-2')
13
+ #
14
+ # You can supply a client object with custom configuration that will be used for all resource operations.
15
+ # If you do not pass `:client`, a default client will be constructed.
16
+ #
17
+ # client = {{module_name}}::Client.new(region: 'us-west-2')
18
+ # resource = {{module_name}}::Resource.new(client: client)
19
+ #
20
+ {{/documentation?}}
21
+ class Resource
22
+
23
+ # @param options ({})
24
+ # @option options [Client] :client
25
+ def initialize(options = {})
26
+ @client = options[:client] || Client.new(options)
27
+ end
28
+
29
+ # @return [Client]
30
+ def client
31
+ @client
32
+ end
33
+ {{#actions?}}
34
+
35
+ # @!group Actions
36
+ {{#actions}}
37
+
38
+ {{> method}}
39
+ {{/actions}}
40
+ {{/actions?}}
41
+ {{#associations?}}
42
+
43
+ # @!group Associations
44
+ {{#associations}}
45
+
46
+ {{> method}}
47
+ {{/associations}}
48
+ {{/associations?}}
49
+
50
+ end
51
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+ {{#requires}}
7
+ require '{{.}}'
8
+ {{/requires}}
9
+
10
+ {{#relative_requires}}
11
+ require_relative '{{.}}'
12
+ {{/relative_requires}}
13
+
14
+ # This module provides support for {{full_name}}. This module is available in the
15
+ # `{{gem_name}}` gem.
16
+ #
17
+ # # Client
18
+ #
19
+ # The {Client} class provides one method for each API operation. Operation
20
+ # methods each accept a hash of request parameters and return a response
21
+ # structure.
22
+ {{#example_operation_name}}
23
+ #
24
+ # {{example_var_name}} = {{module_name}}::Client.new
25
+ # resp = {{example_var_name}}.{{example_operation_name}}(params)
26
+ {{/example_operation_name}}
27
+ #
28
+ # See {Client} for more information.
29
+ #
30
+ # # Errors
31
+ #
32
+ # Errors returned from {{full_name}} are defined in the
33
+ # {Errors} module and all extend {Errors::ServiceError}.
34
+ #
35
+ # begin
36
+ # # do stuff
37
+ # rescue {{module_name}}::Errors::ServiceError
38
+ # # rescues all {{full_name}} API errors
39
+ # end
40
+ #
41
+ # See {Errors} for more information.
42
+ #
43
+ # @service
44
+ module {{module_name}}
45
+
46
+ GEM_VERSION = '{{gem_version}}'
47
+
48
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+ require_relative '../../aws-sdk-core/spec/shared_spec_helper'
7
+
8
+ $:.unshift(File.expand_path('../../lib', __FILE__))
9
+ {{#gem_dependencies}}
10
+ $:.unshift(File.expand_path('../../../{{dependency}}/lib', __FILE__))
11
+ {{/gem_dependencies}}
12
+
13
+ require 'rspec'
14
+ require 'webmock/rspec'
15
+ require '{{gem_name}}'
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+ module {{module_name}}
7
+ module Types
8
+ {{#structures}}
9
+
10
+ {{> documentation}}
11
+ {{#empty?}}
12
+ class {{class_name}} < Aws::EmptyStructure; end
13
+ {{/empty?}}
14
+ {{^empty?}}
15
+ class {{class_name}} < Struct.new(
16
+ {{#members}}
17
+ :{{member_name}}{{^last}},{{/last}}{{#last}}){{/last}}
18
+ {{/members}}
19
+ SENSITIVE = {{sensitive_params}}
20
+ include Aws::Structure
21
+ end
22
+ {{/empty?}}
23
+ {{/structures}}
24
+ {{#eventstreams}}
25
+
26
+ {{> documentation}}
27
+ class {{class_name}} < Enumerator
28
+
29
+ def event_types
30
+ {{#empty?}}
31
+ []
32
+ {{/empty?}}
33
+ {{^empty?}}
34
+ [
35
+ {{#types}}
36
+ :{{member_name}}{{^last}},{{/last}}
37
+ {{/types}}
38
+ ]
39
+ {{/empty?}}
40
+ end
41
+
42
+ end
43
+ {{/eventstreams}}
44
+
45
+ end
46
+ end
@@ -0,0 +1 @@
1
+ {{version}}
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+ require 'aws-sdk-core/waiters'
7
+
8
+ module {{module_name}}
9
+ {{#waiters?}}
10
+ # Waiters are utility methods that poll for a particular state to occur
11
+ # on a client. Waiters can fail after a number of attempts at a polling
12
+ # interval defined for the service client.
13
+ #
14
+ # For a list of operations that can be waited for and the
15
+ # client methods called for each operation, see the table below or the
16
+ # {Client#wait_until} field documentation for the {Client}.
17
+ #
18
+ # # Invoking a Waiter
19
+ # To invoke a waiter, call #wait_until on a {Client}. The first parameter
20
+ # is the waiter name, which is specific to the service client and indicates
21
+ # which operation is being waited for. The second parameter is a hash of
22
+ # parameters that are passed to the client method called by the waiter,
23
+ # which varies according to the waiter name.
24
+ #
25
+ # # Wait Failures
26
+ # To catch errors in a waiter, use WaiterFailed,
27
+ # as shown in the following example.
28
+ #
29
+ # rescue rescue Aws::Waiters::Errors::WaiterFailed => error
30
+ # puts "failed waiting for instance running: #{error.message}
31
+ # end
32
+ #
33
+ # # Configuring a Waiter
34
+ # Each waiter has a default polling interval and a maximum number of
35
+ # attempts it will make before returning control to your program.
36
+ # To set these values, use the `max_attempts` and `delay` parameters
37
+ # in your `#wait_until` call.
38
+ # The following example waits for up to 25 seconds, polling every five seconds.
39
+ #
40
+ # client.wait_until(...) do |w|
41
+ # w.max_attempts = 5
42
+ # w.delay = 5
43
+ # end
44
+ #
45
+ # To disable wait failures, set the value of either of these parameters
46
+ # to `nil`.
47
+ #
48
+ # # Extending a Waiter
49
+ # To modify the behavior of waiters, you can register callbacks that are
50
+ # triggered before each polling attempt and before waiting.
51
+ #
52
+ # The following example implements an exponential backoff in a waiter
53
+ # by doubling the amount of time to wait on every attempt.
54
+ #
55
+ # client.wait_until(...) do |w|
56
+ # w.interval = 0 # disable normal sleep
57
+ # w.before_wait do |n, resp|
58
+ # sleep(n ** 2)
59
+ # end
60
+ # end
61
+ #
62
+ # # Available Waiters
63
+ #
64
+ # The following table lists the valid waiter names, the operations they call,
65
+ # and the default `:delay` and `:max_attempts` values.
66
+ #
67
+ {{#waiters_markdown_table}}
68
+ {{#lines}}
69
+ # {{{.}}}{{/lines}}
70
+ {{/waiters_markdown_table}}
71
+ #
72
+ {{/waiters?}}
73
+ module Waiters
74
+ {{#waiters}}
75
+
76
+ {{> documentation}}
77
+ class {{class_name}}
78
+
79
+ # @param [Hash] options
80
+ # @option options [required, Client] :client
81
+ # @option options [Integer] :max_attempts ({{max_attempts}})
82
+ # @option options [Integer] :delay ({{delay}})
83
+ # @option options [Proc] :before_attempt
84
+ # @option options [Proc] :before_wait
85
+ def initialize(options)
86
+ @client = options.fetch(:client)
87
+ @waiter = Aws::Waiters::Waiter.new({
88
+ max_attempts: {{max_attempts}},
89
+ delay: {{delay}},
90
+ poller: Aws::Waiters::Poller.new(
91
+ operation_name: :{{client_method}},
92
+ {{#acceptors}}
93
+ {{#lines}}
94
+ {{{.}}}{{/lines}}
95
+ {{/acceptors}}
96
+ )
97
+ }.merge(options))
98
+ end
99
+
100
+ # @option (see Client#{{client_method}})
101
+ # @return (see Client#{{client_method}})
102
+ def wait(params = {})
103
+ @waiter.wait(client: @client, params: params)
104
+ end
105
+
106
+ # @api private
107
+ attr_reader :waiter
108
+
109
+ end
110
+ {{/waiters}}
111
+ end
112
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-code-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.pre
4
+ version: 0.2.1.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -9,7 +9,35 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2020-06-24 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: kramdown
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: mustache
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  description: Generates the service code for the AWS SDK for Ruby
14
42
  email:
15
43
  - trevrowe@amazon.com
@@ -87,6 +115,29 @@ files:
87
115
  - lib/aws-sdk-code-generator/views/waiters_module.rb
88
116
  - lib/aws-sdk-code-generator/waiter.rb
89
117
  - lib/aws-sdk-code-generator/yard_option_tag.rb
118
+ - templates/apig_endpoint_class.mustache
119
+ - templates/apig_readme.mustache
120
+ - templates/async_client_class.mustache
121
+ - templates/authorizer_class.mustache
122
+ - templates/client_api_module.mustache
123
+ - templates/client_class.mustache
124
+ - templates/code.mustache
125
+ - templates/documentation.mustache
126
+ - templates/errors_module.mustache
127
+ - templates/event_streams_module.mustache
128
+ - templates/features/env.mustache
129
+ - templates/features/smoke.mustache
130
+ - templates/features/smoke_step_definitions.mustache
131
+ - templates/features/step_definitions.mustache
132
+ - templates/gemspec.mustache
133
+ - templates/method.mustache
134
+ - templates/resource_class.mustache
135
+ - templates/root_resource_class.mustache
136
+ - templates/service_module.mustache
137
+ - templates/spec/spec_helper.mustache
138
+ - templates/types_module.mustache
139
+ - templates/version.mustache
140
+ - templates/waiters_module.mustache
90
141
  homepage: https://github.com/aws/aws-sdk-ruby
91
142
  licenses:
92
143
  - Apache-2.0