aws-sdk-managedblockchain 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bbdcbead555c9c75ea1c4f5c3b89512c0dbdece5
4
+ data.tar.gz: 263d3700fde3233af927d68cc25d3959418ebba8
5
+ SHA512:
6
+ metadata.gz: eadabd032033dd1911c61399a910e49c2490252a9512b096a9e0a25e5c2bb80efdf0cfb0295e2a8215312847da9a1a83d6df1add75cd07082a41975656b47e3d
7
+ data.tar.gz: af57acb8a0e866b20c6b3e038320b2217a7b6f3aefd4b65a41d33b5c0dc4824f3b1ab96e428040bc095fe8820ee3b336fc6adf19a8486389b7c5de2dfc6b56a4
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-managedblockchain/types'
12
+ require_relative 'aws-sdk-managedblockchain/client_api'
13
+ require_relative 'aws-sdk-managedblockchain/client'
14
+ require_relative 'aws-sdk-managedblockchain/errors'
15
+ require_relative 'aws-sdk-managedblockchain/resource'
16
+ require_relative 'aws-sdk-managedblockchain/customizations'
17
+
18
+ # This module provides support for Amazon Managed Blockchain. This module is available in the
19
+ # `aws-sdk-managedblockchain` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Managed Blockchain all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::ManagedBlockchain::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::ManagedBlockchain
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1153 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/signature_v4.rb'
27
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
28
+
29
+ Aws::Plugins::GlobalConfiguration.add_identifier(:managedblockchain)
30
+
31
+ module Aws::ManagedBlockchain
32
+ class Client < Seahorse::Client::Base
33
+
34
+ include Aws::ClientStubs
35
+
36
+ @identifier = :managedblockchain
37
+
38
+ set_api(ClientApi::API)
39
+
40
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
41
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
42
+ add_plugin(Aws::Plugins::Logging)
43
+ add_plugin(Aws::Plugins::ParamConverter)
44
+ add_plugin(Aws::Plugins::ParamValidator)
45
+ add_plugin(Aws::Plugins::UserAgent)
46
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
47
+ add_plugin(Aws::Plugins::RetryErrors)
48
+ add_plugin(Aws::Plugins::GlobalConfiguration)
49
+ add_plugin(Aws::Plugins::RegionalEndpoint)
50
+ add_plugin(Aws::Plugins::EndpointDiscovery)
51
+ add_plugin(Aws::Plugins::EndpointPattern)
52
+ add_plugin(Aws::Plugins::ResponsePaging)
53
+ add_plugin(Aws::Plugins::StubResponses)
54
+ add_plugin(Aws::Plugins::IdempotencyToken)
55
+ add_plugin(Aws::Plugins::JsonvalueConverter)
56
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
57
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
58
+ add_plugin(Aws::Plugins::SignatureV4)
59
+ add_plugin(Aws::Plugins::Protocols::RestJson)
60
+
61
+ # @overload initialize(options)
62
+ # @param [Hash] options
63
+ # @option options [required, Aws::CredentialProvider] :credentials
64
+ # Your AWS credentials. This can be an instance of any one of the
65
+ # following classes:
66
+ #
67
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
68
+ # credentials.
69
+ #
70
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
71
+ # from an EC2 IMDS on an EC2 instance.
72
+ #
73
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
74
+ # shared file, such as `~/.aws/config`.
75
+ #
76
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
77
+ #
78
+ # When `:credentials` are not configured directly, the following
79
+ # locations will be searched for credentials:
80
+ #
81
+ # * `Aws.config[:credentials]`
82
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
83
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
84
+ # * `~/.aws/credentials`
85
+ # * `~/.aws/config`
86
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
87
+ # very aggressive. Construct and pass an instance of
88
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
89
+ # timeouts.
90
+ #
91
+ # @option options [required, String] :region
92
+ # The AWS region to connect to. The configured `:region` is
93
+ # used to determine the service `:endpoint`. When not passed,
94
+ # a default `:region` is search for in the following locations:
95
+ #
96
+ # * `Aws.config[:region]`
97
+ # * `ENV['AWS_REGION']`
98
+ # * `ENV['AMAZON_REGION']`
99
+ # * `ENV['AWS_DEFAULT_REGION']`
100
+ # * `~/.aws/credentials`
101
+ # * `~/.aws/config`
102
+ #
103
+ # @option options [String] :access_key_id
104
+ #
105
+ # @option options [Boolean] :active_endpoint_cache (false)
106
+ # When set to `true`, a thread polling for endpoints will be running in
107
+ # the background every 60 secs (default). Defaults to `false`.
108
+ #
109
+ # @option options [Boolean] :client_side_monitoring (false)
110
+ # When `true`, client-side metrics will be collected for all API requests from
111
+ # this client.
112
+ #
113
+ # @option options [String] :client_side_monitoring_client_id ("")
114
+ # Allows you to provide an identifier for this client which will be attached to
115
+ # all generated client side metrics. Defaults to an empty string.
116
+ #
117
+ # @option options [Integer] :client_side_monitoring_port (31000)
118
+ # Required for publishing client metrics. The port that the client side monitoring
119
+ # agent is running on, where client metrics will be published via UDP.
120
+ #
121
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
122
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
123
+ # will use the Client Side Monitoring Agent Publisher.
124
+ #
125
+ # @option options [Boolean] :convert_params (true)
126
+ # When `true`, an attempt is made to coerce request parameters into
127
+ # the required types.
128
+ #
129
+ # @option options [Boolean] :disable_host_prefix_injection (false)
130
+ # Set to true to disable SDK automatically adding host prefix
131
+ # to default service endpoint when available.
132
+ #
133
+ # @option options [String] :endpoint
134
+ # The client endpoint is normally constructed from the `:region`
135
+ # option. You should only configure an `:endpoint` when connecting
136
+ # to test endpoints. This should be avalid HTTP(S) URI.
137
+ #
138
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
139
+ # Used for the maximum size limit of the LRU cache storing endpoints data
140
+ # for endpoint discovery enabled operations. Defaults to 1000.
141
+ #
142
+ # @option options [Integer] :endpoint_cache_max_threads (10)
143
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
144
+ #
145
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
146
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
147
+ # Use this option to config the time interval in seconds for making
148
+ # requests fetching endpoints information. Defaults to 60 sec.
149
+ #
150
+ # @option options [Boolean] :endpoint_discovery (false)
151
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
152
+ #
153
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
154
+ # The log formatter.
155
+ #
156
+ # @option options [Symbol] :log_level (:info)
157
+ # The log level to send messages to the `:logger` at.
158
+ #
159
+ # @option options [Logger] :logger
160
+ # The Logger instance to send log messages to. If this option
161
+ # is not set, logging will be disabled.
162
+ #
163
+ # @option options [String] :profile ("default")
164
+ # Used when loading credentials from the shared credentials file
165
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
166
+ #
167
+ # @option options [Float] :retry_base_delay (0.3)
168
+ # The base delay in seconds used by the default backoff function.
169
+ #
170
+ # @option options [Symbol] :retry_jitter (:none)
171
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
172
+ #
173
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
174
+ #
175
+ # @option options [Integer] :retry_limit (3)
176
+ # The maximum number of times to retry failed requests. Only
177
+ # ~ 500 level server errors and certain ~ 400 level client errors
178
+ # are retried. Generally, these are throttling errors, data
179
+ # checksum errors, networking errors, timeout errors and auth
180
+ # errors from expired credentials.
181
+ #
182
+ # @option options [Integer] :retry_max_delay (0)
183
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
184
+ #
185
+ # @option options [String] :secret_access_key
186
+ #
187
+ # @option options [String] :session_token
188
+ #
189
+ # @option options [Boolean] :stub_responses (false)
190
+ # Causes the client to return stubbed responses. By default
191
+ # fake responses are generated and returned. You can specify
192
+ # the response data to return or errors to raise by calling
193
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
194
+ #
195
+ # ** Please note ** When response stubbing is enabled, no HTTP
196
+ # requests are made, and retries are disabled.
197
+ #
198
+ # @option options [Boolean] :validate_params (true)
199
+ # When `true`, request parameters are validated before
200
+ # sending the request.
201
+ #
202
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
203
+ # requests through. Formatted like 'http://proxy.com:123'.
204
+ #
205
+ # @option options [Float] :http_open_timeout (15) The number of
206
+ # seconds to wait when opening a HTTP session before rasing a
207
+ # `Timeout::Error`.
208
+ #
209
+ # @option options [Integer] :http_read_timeout (60) The default
210
+ # number of seconds to wait for response data. This value can
211
+ # safely be set
212
+ # per-request on the session yeidled by {#session_for}.
213
+ #
214
+ # @option options [Float] :http_idle_timeout (5) The number of
215
+ # seconds a connection is allowed to sit idble before it is
216
+ # considered stale. Stale connections are closed and removed
217
+ # from the pool before making a request.
218
+ #
219
+ # @option options [Float] :http_continue_timeout (1) The number of
220
+ # seconds to wait for a 100-continue response before sending the
221
+ # request body. This option has no effect unless the request has
222
+ # "Expect" header set to "100-continue". Defaults to `nil` which
223
+ # disables this behaviour. This value can safely be set per
224
+ # request on the session yeidled by {#session_for}.
225
+ #
226
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
227
+ # HTTP debug output will be sent to the `:logger`.
228
+ #
229
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
230
+ # SSL peer certificates are verified when establishing a
231
+ # connection.
232
+ #
233
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
234
+ # certificate authority bundle file that should be used when
235
+ # verifying peer certificates. If you do not pass
236
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
237
+ # will be used if available.
238
+ #
239
+ # @option options [String] :ssl_ca_directory Full path of the
240
+ # directory that contains the unbundled SSL certificate
241
+ # authority files for verifying peer certificates. If you do
242
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
243
+ # system default will be used if available.
244
+ #
245
+ def initialize(*args)
246
+ super
247
+ end
248
+
249
+ # @!group API Operations
250
+
251
+ # Creates a member within a Managed Blockchain network.
252
+ #
253
+ # @option params [required, String] :client_request_token
254
+ # A unique, case-sensitive identifier that you provide to ensure the
255
+ # idempotency of the operation. An idempotent operation completes no
256
+ # more than one time. This identifier is required only if you make a
257
+ # service request directly using an HTTP client. It is generated
258
+ # automatically if you use an AWS SDK or the AWS CLI.
259
+ #
260
+ # **A suitable default value is auto-generated.** You should normally
261
+ # not need to pass this option.**
262
+ #
263
+ # @option params [required, String] :invitation_id
264
+ # The unique identifier of the invitation that is sent to the member to
265
+ # join the network.
266
+ #
267
+ # @option params [required, String] :network_id
268
+ # The unique identifier of the network in which the member is created.
269
+ #
270
+ # @option params [required, Types::MemberConfiguration] :member_configuration
271
+ # Member configuration parameters.
272
+ #
273
+ # @return [Types::CreateMemberOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
274
+ #
275
+ # * {Types::CreateMemberOutput#member_id #member_id} => String
276
+ #
277
+ # @example Request syntax with placeholder values
278
+ #
279
+ # resp = client.create_member({
280
+ # client_request_token: "ClientRequestTokenString", # required
281
+ # invitation_id: "ResourceIdString", # required
282
+ # network_id: "ResourceIdString", # required
283
+ # member_configuration: { # required
284
+ # name: "NetworkMemberNameString", # required
285
+ # description: "DescriptionString",
286
+ # framework_configuration: { # required
287
+ # fabric: {
288
+ # admin_username: "UsernameString", # required
289
+ # admin_password: "PasswordString", # required
290
+ # },
291
+ # },
292
+ # },
293
+ # })
294
+ #
295
+ # @example Response structure
296
+ #
297
+ # resp.member_id #=> String
298
+ #
299
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateMember AWS API Documentation
300
+ #
301
+ # @overload create_member(params = {})
302
+ # @param [Hash] params ({})
303
+ def create_member(params = {}, options = {})
304
+ req = build_request(:create_member, params)
305
+ req.send_request(options)
306
+ end
307
+
308
+ # Creates a new blockchain network using Amazon Managed Blockchain.
309
+ #
310
+ # @option params [required, String] :client_request_token
311
+ # A unique, case-sensitive identifier that you provide to ensure the
312
+ # idempotency of the operation. An idempotent operation completes no
313
+ # more than one time. This identifier is required only if you make a
314
+ # service request directly using an HTTP client. It is generated
315
+ # automatically if you use an AWS SDK or the AWS CLI.
316
+ #
317
+ # **A suitable default value is auto-generated.** You should normally
318
+ # not need to pass this option.**
319
+ #
320
+ # @option params [required, String] :name
321
+ # The name of the network.
322
+ #
323
+ # @option params [String] :description
324
+ # An optional description for the network.
325
+ #
326
+ # @option params [required, String] :framework
327
+ # The blockchain framework that the network uses.
328
+ #
329
+ # @option params [required, String] :framework_version
330
+ # The version of the blockchain framework that the network uses.
331
+ #
332
+ # @option params [Types::NetworkFrameworkConfiguration] :framework_configuration
333
+ # Configuration properties of the blockchain framework relevant to the
334
+ # network configuration.
335
+ #
336
+ # @option params [required, Types::VotingPolicy] :voting_policy
337
+ # The voting rules used by the network to determine if a proposal is
338
+ # approved.
339
+ #
340
+ # @option params [required, Types::MemberConfiguration] :member_configuration
341
+ # Configuration properties for the first member within the network.
342
+ #
343
+ # @return [Types::CreateNetworkOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
344
+ #
345
+ # * {Types::CreateNetworkOutput#network_id #network_id} => String
346
+ # * {Types::CreateNetworkOutput#member_id #member_id} => String
347
+ #
348
+ # @example Request syntax with placeholder values
349
+ #
350
+ # resp = client.create_network({
351
+ # client_request_token: "ClientRequestTokenString", # required
352
+ # name: "NameString", # required
353
+ # description: "DescriptionString",
354
+ # framework: "HYPERLEDGER_FABRIC", # required, accepts HYPERLEDGER_FABRIC
355
+ # framework_version: "FrameworkVersionString", # required
356
+ # framework_configuration: {
357
+ # fabric: {
358
+ # edition: "STARTER", # required, accepts STARTER, STANDARD
359
+ # },
360
+ # },
361
+ # voting_policy: { # required
362
+ # approval_threshold_policy: {
363
+ # threshold_percentage: 1,
364
+ # proposal_duration_in_hours: 1,
365
+ # threshold_comparator: "GREATER_THAN", # accepts GREATER_THAN, GREATER_THAN_OR_EQUAL_TO
366
+ # },
367
+ # },
368
+ # member_configuration: { # required
369
+ # name: "NetworkMemberNameString", # required
370
+ # description: "DescriptionString",
371
+ # framework_configuration: { # required
372
+ # fabric: {
373
+ # admin_username: "UsernameString", # required
374
+ # admin_password: "PasswordString", # required
375
+ # },
376
+ # },
377
+ # },
378
+ # })
379
+ #
380
+ # @example Response structure
381
+ #
382
+ # resp.network_id #=> String
383
+ # resp.member_id #=> String
384
+ #
385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNetwork AWS API Documentation
386
+ #
387
+ # @overload create_network(params = {})
388
+ # @param [Hash] params ({})
389
+ def create_network(params = {}, options = {})
390
+ req = build_request(:create_network, params)
391
+ req.send_request(options)
392
+ end
393
+
394
+ # Creates a peer node in a member.
395
+ #
396
+ # @option params [required, String] :client_request_token
397
+ # A unique, case-sensitive identifier that you provide to ensure the
398
+ # idempotency of the operation. An idempotent operation completes no
399
+ # more than one time. This identifier is required only if you make a
400
+ # service request directly using an HTTP client. It is generated
401
+ # automatically if you use an AWS SDK or the AWS CLI.
402
+ #
403
+ # **A suitable default value is auto-generated.** You should normally
404
+ # not need to pass this option.**
405
+ #
406
+ # @option params [required, String] :network_id
407
+ # The unique identifier of the network in which this node runs.
408
+ #
409
+ # @option params [required, String] :member_id
410
+ # The unique identifier of the member that owns this node.
411
+ #
412
+ # @option params [required, Types::NodeConfiguration] :node_configuration
413
+ # The properties of a node configuration.
414
+ #
415
+ # @return [Types::CreateNodeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
416
+ #
417
+ # * {Types::CreateNodeOutput#node_id #node_id} => String
418
+ #
419
+ # @example Request syntax with placeholder values
420
+ #
421
+ # resp = client.create_node({
422
+ # client_request_token: "ClientRequestTokenString", # required
423
+ # network_id: "ResourceIdString", # required
424
+ # member_id: "ResourceIdString", # required
425
+ # node_configuration: { # required
426
+ # instance_type: "InstanceTypeString", # required
427
+ # availability_zone: "AvailabilityZoneString", # required
428
+ # },
429
+ # })
430
+ #
431
+ # @example Response structure
432
+ #
433
+ # resp.node_id #=> String
434
+ #
435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateNode AWS API Documentation
436
+ #
437
+ # @overload create_node(params = {})
438
+ # @param [Hash] params ({})
439
+ def create_node(params = {}, options = {})
440
+ req = build_request(:create_node, params)
441
+ req.send_request(options)
442
+ end
443
+
444
+ # Creates a proposal for a change to the network that other members of
445
+ # the network can vote on, for example, a proposal to add a new member
446
+ # to the network. Any member can create a proposal.
447
+ #
448
+ # @option params [required, String] :client_request_token
449
+ # A unique, case-sensitive identifier that you provide to ensure the
450
+ # idempotency of the operation. An idempotent operation completes no
451
+ # more than one time. This identifier is required only if you make a
452
+ # service request directly using an HTTP client. It is generated
453
+ # automatically if you use an AWS SDK or the AWS CLI.
454
+ #
455
+ # **A suitable default value is auto-generated.** You should normally
456
+ # not need to pass this option.**
457
+ #
458
+ # @option params [required, String] :network_id
459
+ # The unique identifier of the network for which the proposal is made.
460
+ #
461
+ # @option params [required, String] :member_id
462
+ # The unique identifier of the member that is creating the proposal.
463
+ # This identifier is especially useful for identifying the member making
464
+ # the proposal when multiple members exist in a single AWS account.
465
+ #
466
+ # @option params [required, Types::ProposalActions] :actions
467
+ # The type of actions proposed, such as inviting a member or removing a
468
+ # member. The types of `Actions` in a proposal are mutually exclusive.
469
+ # For example, a proposal with `Invitations` actions cannot also contain
470
+ # `Removals` actions.
471
+ #
472
+ # @option params [String] :description
473
+ # A description for the proposal that is visible to voting members, for
474
+ # example, "Proposal to add Example Corp. as member."
475
+ #
476
+ # @return [Types::CreateProposalOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
477
+ #
478
+ # * {Types::CreateProposalOutput#proposal_id #proposal_id} => String
479
+ #
480
+ # @example Request syntax with placeholder values
481
+ #
482
+ # resp = client.create_proposal({
483
+ # client_request_token: "ClientRequestTokenString", # required
484
+ # network_id: "ResourceIdString", # required
485
+ # member_id: "ResourceIdString", # required
486
+ # actions: { # required
487
+ # invitations: [
488
+ # {
489
+ # principal: "PrincipalString", # required
490
+ # },
491
+ # ],
492
+ # removals: [
493
+ # {
494
+ # member_id: "ResourceIdString", # required
495
+ # },
496
+ # ],
497
+ # },
498
+ # description: "DescriptionString",
499
+ # })
500
+ #
501
+ # @example Response structure
502
+ #
503
+ # resp.proposal_id #=> String
504
+ #
505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/CreateProposal AWS API Documentation
506
+ #
507
+ # @overload create_proposal(params = {})
508
+ # @param [Hash] params ({})
509
+ def create_proposal(params = {}, options = {})
510
+ req = build_request(:create_proposal, params)
511
+ req.send_request(options)
512
+ end
513
+
514
+ # Deletes a member. Deleting a member removes the member and all
515
+ # associated resources from the network. `DeleteMember` can only be
516
+ # called for a specified `MemberId` if the principal performing the
517
+ # action is associated with the AWS account that owns the member. In all
518
+ # other cases, the `DeleteMember` action is carried out as the result of
519
+ # an approved proposal to remove a member. If `MemberId` is the last
520
+ # member in a network specified by the last AWS account, the network is
521
+ # deleted also.
522
+ #
523
+ # @option params [required, String] :network_id
524
+ # The unique identifier of the network from which the member is removed.
525
+ #
526
+ # @option params [required, String] :member_id
527
+ # The unique identifier of the member to remove.
528
+ #
529
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
530
+ #
531
+ # @example Request syntax with placeholder values
532
+ #
533
+ # resp = client.delete_member({
534
+ # network_id: "ResourceIdString", # required
535
+ # member_id: "ResourceIdString", # required
536
+ # })
537
+ #
538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteMember AWS API Documentation
539
+ #
540
+ # @overload delete_member(params = {})
541
+ # @param [Hash] params ({})
542
+ def delete_member(params = {}, options = {})
543
+ req = build_request(:delete_member, params)
544
+ req.send_request(options)
545
+ end
546
+
547
+ # Deletes a peer node from a member that your AWS account owns. All data
548
+ # on the node is lost and cannot be recovered.
549
+ #
550
+ # @option params [required, String] :network_id
551
+ # The unique identifier of the network that the node belongs to.
552
+ #
553
+ # @option params [required, String] :member_id
554
+ # The unique identifier of the member that owns this node.
555
+ #
556
+ # @option params [required, String] :node_id
557
+ # The unique identifier of the node.
558
+ #
559
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
560
+ #
561
+ # @example Request syntax with placeholder values
562
+ #
563
+ # resp = client.delete_node({
564
+ # network_id: "ResourceIdString", # required
565
+ # member_id: "ResourceIdString", # required
566
+ # node_id: "ResourceIdString", # required
567
+ # })
568
+ #
569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/DeleteNode AWS API Documentation
570
+ #
571
+ # @overload delete_node(params = {})
572
+ # @param [Hash] params ({})
573
+ def delete_node(params = {}, options = {})
574
+ req = build_request(:delete_node, params)
575
+ req.send_request(options)
576
+ end
577
+
578
+ # Returns detailed information about a member.
579
+ #
580
+ # @option params [required, String] :network_id
581
+ # The unique identifier of the network to which the member belongs.
582
+ #
583
+ # @option params [required, String] :member_id
584
+ # The unique identifier of the member.
585
+ #
586
+ # @return [Types::GetMemberOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
587
+ #
588
+ # * {Types::GetMemberOutput#member #member} => Types::Member
589
+ #
590
+ # @example Request syntax with placeholder values
591
+ #
592
+ # resp = client.get_member({
593
+ # network_id: "ResourceIdString", # required
594
+ # member_id: "ResourceIdString", # required
595
+ # })
596
+ #
597
+ # @example Response structure
598
+ #
599
+ # resp.member.network_id #=> String
600
+ # resp.member.id #=> String
601
+ # resp.member.name #=> String
602
+ # resp.member.description #=> String
603
+ # resp.member.framework_attributes.fabric.admin_username #=> String
604
+ # resp.member.framework_attributes.fabric.ca_endpoint #=> String
605
+ # resp.member.status #=> String, one of "CREATING", "AVAILABLE", "CREATE_FAILED", "DELETING", "DELETED"
606
+ # resp.member.creation_date #=> Time
607
+ #
608
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetMember AWS API Documentation
609
+ #
610
+ # @overload get_member(params = {})
611
+ # @param [Hash] params ({})
612
+ def get_member(params = {}, options = {})
613
+ req = build_request(:get_member, params)
614
+ req.send_request(options)
615
+ end
616
+
617
+ # Returns detailed information about a network.
618
+ #
619
+ # @option params [required, String] :network_id
620
+ # The unique identifier of the network to get information about.
621
+ #
622
+ # @return [Types::GetNetworkOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
623
+ #
624
+ # * {Types::GetNetworkOutput#network #network} => Types::Network
625
+ #
626
+ # @example Request syntax with placeholder values
627
+ #
628
+ # resp = client.get_network({
629
+ # network_id: "ResourceIdString", # required
630
+ # })
631
+ #
632
+ # @example Response structure
633
+ #
634
+ # resp.network.id #=> String
635
+ # resp.network.name #=> String
636
+ # resp.network.description #=> String
637
+ # resp.network.framework #=> String, one of "HYPERLEDGER_FABRIC"
638
+ # resp.network.framework_version #=> String
639
+ # resp.network.framework_attributes.fabric.ordering_service_endpoint #=> String
640
+ # resp.network.framework_attributes.fabric.edition #=> String, one of "STARTER", "STANDARD"
641
+ # resp.network.vpc_endpoint_service_name #=> String
642
+ # resp.network.voting_policy.approval_threshold_policy.threshold_percentage #=> Integer
643
+ # resp.network.voting_policy.approval_threshold_policy.proposal_duration_in_hours #=> Integer
644
+ # resp.network.voting_policy.approval_threshold_policy.threshold_comparator #=> String, one of "GREATER_THAN", "GREATER_THAN_OR_EQUAL_TO"
645
+ # resp.network.status #=> String, one of "CREATING", "AVAILABLE", "CREATE_FAILED", "DELETING", "DELETED"
646
+ # resp.network.creation_date #=> Time
647
+ #
648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNetwork AWS API Documentation
649
+ #
650
+ # @overload get_network(params = {})
651
+ # @param [Hash] params ({})
652
+ def get_network(params = {}, options = {})
653
+ req = build_request(:get_network, params)
654
+ req.send_request(options)
655
+ end
656
+
657
+ # Returns detailed information about a peer node.
658
+ #
659
+ # @option params [required, String] :network_id
660
+ # The unique identifier of the network to which the node belongs.
661
+ #
662
+ # @option params [required, String] :member_id
663
+ # The unique identifier of the member that owns the node.
664
+ #
665
+ # @option params [required, String] :node_id
666
+ # The unique identifier of the node.
667
+ #
668
+ # @return [Types::GetNodeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
669
+ #
670
+ # * {Types::GetNodeOutput#node #node} => Types::Node
671
+ #
672
+ # @example Request syntax with placeholder values
673
+ #
674
+ # resp = client.get_node({
675
+ # network_id: "ResourceIdString", # required
676
+ # member_id: "ResourceIdString", # required
677
+ # node_id: "ResourceIdString", # required
678
+ # })
679
+ #
680
+ # @example Response structure
681
+ #
682
+ # resp.node.network_id #=> String
683
+ # resp.node.member_id #=> String
684
+ # resp.node.id #=> String
685
+ # resp.node.instance_type #=> String
686
+ # resp.node.availability_zone #=> String
687
+ # resp.node.framework_attributes.fabric.peer_endpoint #=> String
688
+ # resp.node.framework_attributes.fabric.peer_event_endpoint #=> String
689
+ # resp.node.status #=> String, one of "CREATING", "AVAILABLE", "CREATE_FAILED", "DELETING", "DELETED", "FAILED"
690
+ # resp.node.creation_date #=> Time
691
+ #
692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetNode AWS API Documentation
693
+ #
694
+ # @overload get_node(params = {})
695
+ # @param [Hash] params ({})
696
+ def get_node(params = {}, options = {})
697
+ req = build_request(:get_node, params)
698
+ req.send_request(options)
699
+ end
700
+
701
+ # Returns detailed information about a proposal.
702
+ #
703
+ # @option params [required, String] :network_id
704
+ # The unique identifier of the network for which the proposal is made.
705
+ #
706
+ # @option params [required, String] :proposal_id
707
+ # The unique identifier of the proposal.
708
+ #
709
+ # @return [Types::GetProposalOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
710
+ #
711
+ # * {Types::GetProposalOutput#proposal #proposal} => Types::Proposal
712
+ #
713
+ # @example Request syntax with placeholder values
714
+ #
715
+ # resp = client.get_proposal({
716
+ # network_id: "ResourceIdString", # required
717
+ # proposal_id: "ResourceIdString", # required
718
+ # })
719
+ #
720
+ # @example Response structure
721
+ #
722
+ # resp.proposal.proposal_id #=> String
723
+ # resp.proposal.network_id #=> String
724
+ # resp.proposal.description #=> String
725
+ # resp.proposal.actions.invitations #=> Array
726
+ # resp.proposal.actions.invitations[0].principal #=> String
727
+ # resp.proposal.actions.removals #=> Array
728
+ # resp.proposal.actions.removals[0].member_id #=> String
729
+ # resp.proposal.proposed_by_member_id #=> String
730
+ # resp.proposal.proposed_by_member_name #=> String
731
+ # resp.proposal.status #=> String, one of "IN_PROGRESS", "APPROVED", "REJECTED", "EXPIRED", "ACTION_FAILED"
732
+ # resp.proposal.creation_date #=> Time
733
+ # resp.proposal.expiration_date #=> Time
734
+ # resp.proposal.yes_vote_count #=> Integer
735
+ # resp.proposal.no_vote_count #=> Integer
736
+ # resp.proposal.outstanding_vote_count #=> Integer
737
+ #
738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetProposal AWS API Documentation
739
+ #
740
+ # @overload get_proposal(params = {})
741
+ # @param [Hash] params ({})
742
+ def get_proposal(params = {}, options = {})
743
+ req = build_request(:get_proposal, params)
744
+ req.send_request(options)
745
+ end
746
+
747
+ # Returns a listing of all invitations made on the specified network.
748
+ #
749
+ # @option params [Integer] :max_results
750
+ # The maximum number of invitations to return.
751
+ #
752
+ # @option params [String] :next_token
753
+ # The pagination token that indicates the next set of results to
754
+ # retrieve.
755
+ #
756
+ # @return [Types::ListInvitationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
757
+ #
758
+ # * {Types::ListInvitationsOutput#invitations #invitations} => Array&lt;Types::Invitation&gt;
759
+ # * {Types::ListInvitationsOutput#next_token #next_token} => String
760
+ #
761
+ # @example Request syntax with placeholder values
762
+ #
763
+ # resp = client.list_invitations({
764
+ # max_results: 1,
765
+ # next_token: "PaginationToken",
766
+ # })
767
+ #
768
+ # @example Response structure
769
+ #
770
+ # resp.invitations #=> Array
771
+ # resp.invitations[0].invitation_id #=> String
772
+ # resp.invitations[0].creation_date #=> Time
773
+ # resp.invitations[0].expiration_date #=> Time
774
+ # resp.invitations[0].status #=> String, one of "PENDING", "ACCEPTED", "ACCEPTING", "REJECTED", "EXPIRED"
775
+ # resp.invitations[0].network_summary.id #=> String
776
+ # resp.invitations[0].network_summary.name #=> String
777
+ # resp.invitations[0].network_summary.description #=> String
778
+ # resp.invitations[0].network_summary.framework #=> String, one of "HYPERLEDGER_FABRIC"
779
+ # resp.invitations[0].network_summary.framework_version #=> String
780
+ # resp.invitations[0].network_summary.status #=> String, one of "CREATING", "AVAILABLE", "CREATE_FAILED", "DELETING", "DELETED"
781
+ # resp.invitations[0].network_summary.creation_date #=> Time
782
+ # resp.next_token #=> String
783
+ #
784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListInvitations AWS API Documentation
785
+ #
786
+ # @overload list_invitations(params = {})
787
+ # @param [Hash] params ({})
788
+ def list_invitations(params = {}, options = {})
789
+ req = build_request(:list_invitations, params)
790
+ req.send_request(options)
791
+ end
792
+
793
+ # Returns a listing of the members in a network and properties of their
794
+ # configurations.
795
+ #
796
+ # @option params [required, String] :network_id
797
+ # The unique identifier of the network for which to list members.
798
+ #
799
+ # @option params [String] :name
800
+ # The optional name of the member to list.
801
+ #
802
+ # @option params [String] :status
803
+ # An optional status specifier. If provided, only members currently in
804
+ # this status are listed.
805
+ #
806
+ # @option params [Boolean] :is_owned
807
+ # An optional Boolean value. If provided, the request is limited either
808
+ # to members that the current AWS account owns (`true`) or that other
809
+ # AWS accounts own (`false`). If omitted, all members are listed.
810
+ #
811
+ # @option params [Integer] :max_results
812
+ # The maximum number of members to return in the request.
813
+ #
814
+ # @option params [String] :next_token
815
+ # The pagination token that indicates the next set of results to
816
+ # retrieve.
817
+ #
818
+ # @return [Types::ListMembersOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
819
+ #
820
+ # * {Types::ListMembersOutput#members #members} => Array&lt;Types::MemberSummary&gt;
821
+ # * {Types::ListMembersOutput#next_token #next_token} => String
822
+ #
823
+ # @example Request syntax with placeholder values
824
+ #
825
+ # resp = client.list_members({
826
+ # network_id: "ResourceIdString", # required
827
+ # name: "String",
828
+ # status: "CREATING", # accepts CREATING, AVAILABLE, CREATE_FAILED, DELETING, DELETED
829
+ # is_owned: false,
830
+ # max_results: 1,
831
+ # next_token: "PaginationToken",
832
+ # })
833
+ #
834
+ # @example Response structure
835
+ #
836
+ # resp.members #=> Array
837
+ # resp.members[0].id #=> String
838
+ # resp.members[0].name #=> String
839
+ # resp.members[0].description #=> String
840
+ # resp.members[0].status #=> String, one of "CREATING", "AVAILABLE", "CREATE_FAILED", "DELETING", "DELETED"
841
+ # resp.members[0].creation_date #=> Time
842
+ # resp.members[0].is_owned #=> Boolean
843
+ # resp.next_token #=> String
844
+ #
845
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListMembers AWS API Documentation
846
+ #
847
+ # @overload list_members(params = {})
848
+ # @param [Hash] params ({})
849
+ def list_members(params = {}, options = {})
850
+ req = build_request(:list_members, params)
851
+ req.send_request(options)
852
+ end
853
+
854
+ # Returns information about the networks in which the current AWS
855
+ # account has members.
856
+ #
857
+ # @option params [String] :name
858
+ # The name of the network.
859
+ #
860
+ # @option params [String] :framework
861
+ # An optional framework specifier. If provided, only networks of this
862
+ # framework type are listed.
863
+ #
864
+ # @option params [String] :status
865
+ # An optional status specifier. If provided, only networks currently in
866
+ # this status are listed.
867
+ #
868
+ # @option params [Integer] :max_results
869
+ # The maximum number of networks to list.
870
+ #
871
+ # @option params [String] :next_token
872
+ # The pagination token that indicates the next set of results to
873
+ # retrieve.
874
+ #
875
+ # @return [Types::ListNetworksOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
876
+ #
877
+ # * {Types::ListNetworksOutput#networks #networks} => Array&lt;Types::NetworkSummary&gt;
878
+ # * {Types::ListNetworksOutput#next_token #next_token} => String
879
+ #
880
+ # @example Request syntax with placeholder values
881
+ #
882
+ # resp = client.list_networks({
883
+ # name: "String",
884
+ # framework: "HYPERLEDGER_FABRIC", # accepts HYPERLEDGER_FABRIC
885
+ # status: "CREATING", # accepts CREATING, AVAILABLE, CREATE_FAILED, DELETING, DELETED
886
+ # max_results: 1,
887
+ # next_token: "PaginationToken",
888
+ # })
889
+ #
890
+ # @example Response structure
891
+ #
892
+ # resp.networks #=> Array
893
+ # resp.networks[0].id #=> String
894
+ # resp.networks[0].name #=> String
895
+ # resp.networks[0].description #=> String
896
+ # resp.networks[0].framework #=> String, one of "HYPERLEDGER_FABRIC"
897
+ # resp.networks[0].framework_version #=> String
898
+ # resp.networks[0].status #=> String, one of "CREATING", "AVAILABLE", "CREATE_FAILED", "DELETING", "DELETED"
899
+ # resp.networks[0].creation_date #=> Time
900
+ # resp.next_token #=> String
901
+ #
902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNetworks AWS API Documentation
903
+ #
904
+ # @overload list_networks(params = {})
905
+ # @param [Hash] params ({})
906
+ def list_networks(params = {}, options = {})
907
+ req = build_request(:list_networks, params)
908
+ req.send_request(options)
909
+ end
910
+
911
+ # Returns information about the nodes within a network.
912
+ #
913
+ # @option params [required, String] :network_id
914
+ # The unique identifier of the network for which to list nodes.
915
+ #
916
+ # @option params [required, String] :member_id
917
+ # The unique identifier of the member who owns the nodes to list.
918
+ #
919
+ # @option params [String] :status
920
+ # An optional status specifier. If provided, only nodes currently in
921
+ # this status are listed.
922
+ #
923
+ # @option params [Integer] :max_results
924
+ # The maximum number of nodes to list.
925
+ #
926
+ # @option params [String] :next_token
927
+ # The pagination token that indicates the next set of results to
928
+ # retrieve.
929
+ #
930
+ # @return [Types::ListNodesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
931
+ #
932
+ # * {Types::ListNodesOutput#nodes #nodes} => Array&lt;Types::NodeSummary&gt;
933
+ # * {Types::ListNodesOutput#next_token #next_token} => String
934
+ #
935
+ # @example Request syntax with placeholder values
936
+ #
937
+ # resp = client.list_nodes({
938
+ # network_id: "ResourceIdString", # required
939
+ # member_id: "ResourceIdString", # required
940
+ # status: "CREATING", # accepts CREATING, AVAILABLE, CREATE_FAILED, DELETING, DELETED, FAILED
941
+ # max_results: 1,
942
+ # next_token: "PaginationToken",
943
+ # })
944
+ #
945
+ # @example Response structure
946
+ #
947
+ # resp.nodes #=> Array
948
+ # resp.nodes[0].id #=> String
949
+ # resp.nodes[0].status #=> String, one of "CREATING", "AVAILABLE", "CREATE_FAILED", "DELETING", "DELETED", "FAILED"
950
+ # resp.nodes[0].creation_date #=> Time
951
+ # resp.nodes[0].availability_zone #=> String
952
+ # resp.nodes[0].instance_type #=> String
953
+ # resp.next_token #=> String
954
+ #
955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListNodes AWS API Documentation
956
+ #
957
+ # @overload list_nodes(params = {})
958
+ # @param [Hash] params ({})
959
+ def list_nodes(params = {}, options = {})
960
+ req = build_request(:list_nodes, params)
961
+ req.send_request(options)
962
+ end
963
+
964
+ # Returns the listing of votes for a specified proposal, including the
965
+ # value of each vote and the unique identifier of the member that cast
966
+ # the vote.
967
+ #
968
+ # @option params [required, String] :network_id
969
+ # The unique identifier of the network.
970
+ #
971
+ # @option params [required, String] :proposal_id
972
+ # The unique identifier of the proposal.
973
+ #
974
+ # @option params [Integer] :max_results
975
+ # The maximum number of votes to return.
976
+ #
977
+ # @option params [String] :next_token
978
+ # The pagination token that indicates the next set of results to
979
+ # retrieve.
980
+ #
981
+ # @return [Types::ListProposalVotesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
982
+ #
983
+ # * {Types::ListProposalVotesOutput#proposal_votes #proposal_votes} => Array&lt;Types::VoteSummary&gt;
984
+ # * {Types::ListProposalVotesOutput#next_token #next_token} => String
985
+ #
986
+ # @example Request syntax with placeholder values
987
+ #
988
+ # resp = client.list_proposal_votes({
989
+ # network_id: "ResourceIdString", # required
990
+ # proposal_id: "ResourceIdString", # required
991
+ # max_results: 1,
992
+ # next_token: "PaginationToken",
993
+ # })
994
+ #
995
+ # @example Response structure
996
+ #
997
+ # resp.proposal_votes #=> Array
998
+ # resp.proposal_votes[0].vote #=> String, one of "YES", "NO"
999
+ # resp.proposal_votes[0].member_name #=> String
1000
+ # resp.proposal_votes[0].member_id #=> String
1001
+ # resp.next_token #=> String
1002
+ #
1003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposalVotes AWS API Documentation
1004
+ #
1005
+ # @overload list_proposal_votes(params = {})
1006
+ # @param [Hash] params ({})
1007
+ def list_proposal_votes(params = {}, options = {})
1008
+ req = build_request(:list_proposal_votes, params)
1009
+ req.send_request(options)
1010
+ end
1011
+
1012
+ # Returns a listing of proposals for the network.
1013
+ #
1014
+ # @option params [required, String] :network_id
1015
+ # The unique identifier of the network.
1016
+ #
1017
+ # @option params [Integer] :max_results
1018
+ # The maximum number of proposals to return.
1019
+ #
1020
+ # @option params [String] :next_token
1021
+ # The pagination token that indicates the next set of results to
1022
+ # retrieve.
1023
+ #
1024
+ # @return [Types::ListProposalsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1025
+ #
1026
+ # * {Types::ListProposalsOutput#proposals #proposals} => Array&lt;Types::ProposalSummary&gt;
1027
+ # * {Types::ListProposalsOutput#next_token #next_token} => String
1028
+ #
1029
+ # @example Request syntax with placeholder values
1030
+ #
1031
+ # resp = client.list_proposals({
1032
+ # network_id: "ResourceIdString", # required
1033
+ # max_results: 1,
1034
+ # next_token: "PaginationToken",
1035
+ # })
1036
+ #
1037
+ # @example Response structure
1038
+ #
1039
+ # resp.proposals #=> Array
1040
+ # resp.proposals[0].proposal_id #=> String
1041
+ # resp.proposals[0].description #=> String
1042
+ # resp.proposals[0].proposed_by_member_id #=> String
1043
+ # resp.proposals[0].proposed_by_member_name #=> String
1044
+ # resp.proposals[0].status #=> String, one of "IN_PROGRESS", "APPROVED", "REJECTED", "EXPIRED", "ACTION_FAILED"
1045
+ # resp.proposals[0].creation_date #=> Time
1046
+ # resp.proposals[0].expiration_date #=> Time
1047
+ # resp.next_token #=> String
1048
+ #
1049
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/ListProposals AWS API Documentation
1050
+ #
1051
+ # @overload list_proposals(params = {})
1052
+ # @param [Hash] params ({})
1053
+ def list_proposals(params = {}, options = {})
1054
+ req = build_request(:list_proposals, params)
1055
+ req.send_request(options)
1056
+ end
1057
+
1058
+ # Rejects an invitation to join a network. This action can be called by
1059
+ # a principal in an AWS account that has received an invitation to
1060
+ # create a member and join a network.
1061
+ #
1062
+ # @option params [required, String] :invitation_id
1063
+ # The unique identifier of the invitation to reject.
1064
+ #
1065
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1066
+ #
1067
+ # @example Request syntax with placeholder values
1068
+ #
1069
+ # resp = client.reject_invitation({
1070
+ # invitation_id: "ResourceIdString", # required
1071
+ # })
1072
+ #
1073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/RejectInvitation AWS API Documentation
1074
+ #
1075
+ # @overload reject_invitation(params = {})
1076
+ # @param [Hash] params ({})
1077
+ def reject_invitation(params = {}, options = {})
1078
+ req = build_request(:reject_invitation, params)
1079
+ req.send_request(options)
1080
+ end
1081
+
1082
+ # Casts a vote for a specified `ProposalId` on behalf of a member. The
1083
+ # member to vote as, specified by `VoterMemberId`, must be in the same
1084
+ # AWS account as the principal that calls the action.
1085
+ #
1086
+ # @option params [required, String] :network_id
1087
+ # The unique identifier of the network.
1088
+ #
1089
+ # @option params [required, String] :proposal_id
1090
+ # The unique identifier of the proposal.
1091
+ #
1092
+ # @option params [required, String] :voter_member_id
1093
+ # The unique identifier of the member casting the vote.
1094
+ #
1095
+ # @option params [required, String] :vote
1096
+ # The value of the vote.
1097
+ #
1098
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1099
+ #
1100
+ # @example Request syntax with placeholder values
1101
+ #
1102
+ # resp = client.vote_on_proposal({
1103
+ # network_id: "ResourceIdString", # required
1104
+ # proposal_id: "ResourceIdString", # required
1105
+ # voter_member_id: "ResourceIdString", # required
1106
+ # vote: "YES", # required, accepts YES, NO
1107
+ # })
1108
+ #
1109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/VoteOnProposal AWS API Documentation
1110
+ #
1111
+ # @overload vote_on_proposal(params = {})
1112
+ # @param [Hash] params ({})
1113
+ def vote_on_proposal(params = {}, options = {})
1114
+ req = build_request(:vote_on_proposal, params)
1115
+ req.send_request(options)
1116
+ end
1117
+
1118
+ # @!endgroup
1119
+
1120
+ # @param params ({})
1121
+ # @api private
1122
+ def build_request(operation_name, params = {})
1123
+ handlers = @handlers.for(operation_name)
1124
+ context = Seahorse::Client::RequestContext.new(
1125
+ operation_name: operation_name,
1126
+ operation: config.api.operation(operation_name),
1127
+ client: self,
1128
+ params: params,
1129
+ config: config)
1130
+ context[:gem_name] = 'aws-sdk-managedblockchain'
1131
+ context[:gem_version] = '1.0.0'
1132
+ Seahorse::Client::Request.new(handlers, context)
1133
+ end
1134
+
1135
+ # @api private
1136
+ # @deprecated
1137
+ def waiter_names
1138
+ []
1139
+ end
1140
+
1141
+ class << self
1142
+
1143
+ # @api private
1144
+ attr_reader :identifier
1145
+
1146
+ # @api private
1147
+ def errors_module
1148
+ Errors
1149
+ end
1150
+
1151
+ end
1152
+ end
1153
+ end