{
  "typeName" : "AWS::ManagedBlockchain::Member",
  "description" : "Resource Type definition for AWS::ManagedBlockchain::Member",
  "additionalProperties" : false,
  "properties" : {
    "MemberId" : {
      "type" : "string"
    },
    "NetworkId" : {
      "type" : "string"
    },
    "MemberConfiguration" : {
      "$ref" : "#/definitions/MemberConfiguration"
    },
    "NetworkConfiguration" : {
      "$ref" : "#/definitions/NetworkConfiguration"
    },
    "InvitationId" : {
      "type" : "string"
    }
  },
  "definitions" : {
    "NetworkConfiguration" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "Description" : {
          "type" : "string"
        },
        "FrameworkVersion" : {
          "type" : "string"
        },
        "VotingPolicy" : {
          "$ref" : "#/definitions/VotingPolicy"
        },
        "Framework" : {
          "type" : "string"
        },
        "Name" : {
          "type" : "string"
        },
        "NetworkFrameworkConfiguration" : {
          "$ref" : "#/definitions/NetworkFrameworkConfiguration"
        }
      },
      "required" : [ "VotingPolicy", "Framework", "FrameworkVersion", "Name" ]
    },
    "MemberConfiguration" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "Description" : {
          "type" : "string"
        },
        "MemberFrameworkConfiguration" : {
          "$ref" : "#/definitions/MemberFrameworkConfiguration"
        },
        "Name" : {
          "type" : "string"
        }
      },
      "required" : [ "Name" ]
    },
    "MemberFrameworkConfiguration" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "MemberFabricConfiguration" : {
          "$ref" : "#/definitions/MemberFabricConfiguration"
        }
      }
    },
    "VotingPolicy" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "ApprovalThresholdPolicy" : {
          "$ref" : "#/definitions/ApprovalThresholdPolicy"
        }
      }
    },
    "NetworkFrameworkConfiguration" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "NetworkFabricConfiguration" : {
          "$ref" : "#/definitions/NetworkFabricConfiguration"
        }
      }
    },
    "MemberFabricConfiguration" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "AdminUsername" : {
          "type" : "string"
        },
        "AdminPassword" : {
          "type" : "string"
        }
      },
      "required" : [ "AdminUsername", "AdminPassword" ]
    },
    "NetworkFabricConfiguration" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "Edition" : {
          "type" : "string"
        }
      },
      "required" : [ "Edition" ]
    },
    "ApprovalThresholdPolicy" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "ThresholdComparator" : {
          "type" : "string"
        },
        "ThresholdPercentage" : {
          "type" : "integer"
        },
        "ProposalDurationInHours" : {
          "type" : "integer"
        }
      }
    }
  },
  "required" : [ "MemberConfiguration" ],
  "readOnlyProperties" : [ "/properties/MemberId" ],
  "primaryIdentifier" : [ "/properties/MemberId" ]
}