Skip to content

Commit

Permalink
Merge pull request #124 from HuiJing-C/support-encrypt-when-create-lo…
Browse files Browse the repository at this point in the history
…gstore

Support encrypt when create logstore
  • Loading branch information
shabicheng authored May 18, 2021
2 parents e726339 + 876e0c0 commit 941e07d
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 2 deletions.
15 changes: 15 additions & 0 deletions log_store.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ type LogStore struct {

project *LogProject
putLogCompressType int
EncryptConf *EncryptConf `json:"encrypt_conf,omitempty"`
}

// Shard defines shard struct
Expand All @@ -46,6 +47,20 @@ type Shard struct {
CreateTime int `json:"createTime"`
}

// encrypt struct
type EncryptConf struct {
Enable bool `json:"enable"`
EncryptType string `json:"encrypt_type"`
UserCmkInfo *EncryptUserCmkConf `json:"user_cmk_info,omitempty"`
}

// EncryptUserCmkConf struct
type EncryptUserCmkConf struct {
CmkKeyId string `json:"cmk_key_id"`
Arn string `json:"arn"`
RegionId string `json:"region_id"`
}

// NewLogStore ...
func NewLogStore(logStoreName string, project *LogProject) (*LogStore, error) {
return &LogStore{
Expand Down
28 changes: 26 additions & 2 deletions logstore_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,36 @@ func (s *LogstoreTestSuite) SetupTest() {
s.Nil(err)
s.NotNil(slsProject)
s.Project = slsProject
slsLogstore, err := NewLogStore(s.logstoreName, s.Project)
s.Nil(err)
slsLogstore := createLogStore(s)
s.NotNil(slsLogstore)
s.Logstore = slsLogstore
}

func createLogStore(s *LogstoreTestSuite) *LogStore {
store, err := NewLogStore(s.logstoreName, s.Project)
s.Nil(err)
store.EncryptConf = &EncryptConf{
Enable: true,
EncryptType: "m4",
UserCmkInfo: &EncryptUserCmkConf{
CmkKeyId: "your_cmk_id",
Arn: "your_ram_role_arn",
RegionId: "your_region_id",
},
}
return store
}

func (s *LogstoreTestSuite) TestCheckLogStore() {
store, err := s.Project.GetLogStore(s.logstoreName)
s.Nil(err)
s.Equal(true, store.EncryptConf.Enable)
s.Equal("m4", store.EncryptConf.Enable)
s.Equal("your_cmk_id", store.EncryptConf.UserCmkInfo.CmkKeyId)
s.Equal("your_ram_role_arn", store.EncryptConf.UserCmkInfo.Arn)
s.Equal("your_region_id", store.EncryptConf.UserCmkInfo.RegionId)
}

func (s *LogstoreTestSuite) TestCheckLogstoreExist() {
exist, err := s.Project.CheckLogstoreExist("not-exist-logstore")
s.Nil(err)
Expand Down

0 comments on commit 941e07d

Please sign in to comment.