github.com/IBM-Blockchain/fabric-operator@v1.0.4/pkg/initializer/common/config/nodeou.go (about)

     1  /*
     2   * Copyright contributors to the Hyperledger Fabric Operator project
     3   *
     4   * SPDX-License-Identifier: Apache-2.0
     5   *
     6   * Licensed under the Apache License, Version 2.0 (the "License");
     7   * you may not use this file except in compliance with the License.
     8   * You may obtain a copy of the License at:
     9   *
    10   * 	  http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   * Unless required by applicable law or agreed to in writing, software
    13   * distributed under the License is distributed on an "AS IS" BASIS,
    14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15   * See the License for the specific language governing permissions and
    16   * limitations under the License.
    17   */
    18  
    19  package config
    20  
    21  import "sigs.k8s.io/yaml"
    22  
    23  type NodeOUConfig struct {
    24  	NodeOUs NodeOUs
    25  }
    26  
    27  type NodeOUs struct {
    28  	Enable              bool
    29  	ClientOUIdentifier  Identifier
    30  	PeerOUIdentifier    Identifier
    31  	AdminOUIdentifier   Identifier
    32  	OrdererOUIdentifier Identifier
    33  }
    34  
    35  type Identifier struct {
    36  	Certificate                  string
    37  	OrganizationalUnitIdentifier string
    38  }
    39  
    40  func NodeOUConfigFromBytes(nodeOU []byte) (*NodeOUConfig, error) {
    41  	nodeOUConfig := &NodeOUConfig{}
    42  	err := yaml.Unmarshal(nodeOU, nodeOUConfig)
    43  	if err != nil {
    44  		return nil, err
    45  	}
    46  
    47  	return nodeOUConfig, nil
    48  }
    49  
    50  func NodeOUConfigToBytes(config *NodeOUConfig) ([]byte, error) {
    51  	nodeOUBytes, err := yaml.Marshal(config)
    52  	if err != nil {
    53  		return nil, err
    54  	}
    55  
    56  	return nodeOUBytes, nil
    57  }