# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import integer
[docs]class Accessor(AWSObject):
"""
`Accessor <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html>`__
"""
resource_type = "AWS::ManagedBlockchain::Accessor"
props: PropsDictType = {
"AccessorType": (str, True),
"NetworkType": (str, False),
"Tags": (Tags, False),
}
[docs]class MemberFabricConfiguration(AWSProperty):
"""
`MemberFabricConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberfabricconfiguration.html>`__
"""
props: PropsDictType = {
"AdminPassword": (str, True),
"AdminUsername": (str, True),
}
[docs]class MemberFrameworkConfiguration(AWSProperty):
"""
`MemberFrameworkConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberframeworkconfiguration.html>`__
"""
props: PropsDictType = {
"MemberFabricConfiguration": (MemberFabricConfiguration, False),
}
[docs]class MemberConfiguration(AWSProperty):
"""
`MemberConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html>`__
"""
props: PropsDictType = {
"Description": (str, False),
"MemberFrameworkConfiguration": (MemberFrameworkConfiguration, False),
"Name": (str, True),
}
[docs]class NetworkFabricConfiguration(AWSProperty):
"""
`NetworkFabricConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkfabricconfiguration.html>`__
"""
props: PropsDictType = {
"Edition": (str, True),
}
[docs]class NetworkFrameworkConfiguration(AWSProperty):
"""
`NetworkFrameworkConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkframeworkconfiguration.html>`__
"""
props: PropsDictType = {
"NetworkFabricConfiguration": (NetworkFabricConfiguration, False),
}
[docs]class ApprovalThresholdPolicy(AWSProperty):
"""
`ApprovalThresholdPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html>`__
"""
props: PropsDictType = {
"ProposalDurationInHours": (integer, False),
"ThresholdComparator": (str, False),
"ThresholdPercentage": (integer, False),
}
[docs]class VotingPolicy(AWSProperty):
"""
`VotingPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-votingpolicy.html>`__
"""
props: PropsDictType = {
"ApprovalThresholdPolicy": (ApprovalThresholdPolicy, False),
}
[docs]class NetworkConfiguration(AWSProperty):
"""
`NetworkConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html>`__
"""
props: PropsDictType = {
"Description": (str, False),
"Framework": (str, True),
"FrameworkVersion": (str, True),
"Name": (str, True),
"NetworkFrameworkConfiguration": (NetworkFrameworkConfiguration, False),
"VotingPolicy": (VotingPolicy, True),
}
[docs]class Member(AWSObject):
"""
`Member <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html>`__
"""
resource_type = "AWS::ManagedBlockchain::Member"
props: PropsDictType = {
"InvitationId": (str, False),
"MemberConfiguration": (MemberConfiguration, True),
"NetworkConfiguration": (NetworkConfiguration, False),
"NetworkId": (str, False),
}
[docs]class NodeConfiguration(AWSProperty):
"""
`NodeConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-node-nodeconfiguration.html>`__
"""
props: PropsDictType = {
"AvailabilityZone": (str, True),
"InstanceType": (str, True),
}
[docs]class Node(AWSObject):
"""
`Node <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html>`__
"""
resource_type = "AWS::ManagedBlockchain::Node"
props: PropsDictType = {
"MemberId": (str, False),
"NetworkId": (str, True),
"NodeConfiguration": (NodeConfiguration, True),
}