diff --git a/.changelog/2930.txt b/.changelog/2930.txt new file mode 100644 index 0000000000..09f1c2ad52 --- /dev/null +++ b/.changelog/2930.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_audit_track: add `storage_account_id`, `storage_app_id` fields +``` \ No newline at end of file diff --git a/go.mod b/go.mod index 3485df17ac..a55c78aa7b 100644 --- a/go.mod +++ b/go.mod @@ -44,9 +44,9 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1031 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1033 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1014 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692 diff --git a/go.sum b/go.sum index 4927b60a30..c0807bea7f 100644 --- a/go.sum +++ b/go.sum @@ -864,6 +864,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984 h1:uvDvC8i github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984/go.mod h1:mqn4vGnC39CHBaniEgnGQqSoVXBnIH8F+O1F5KXhbec= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 h1:ApY6rS7I9otgujOdAFy0+Epno1PNVCQmsOoWQxx724Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544/go.mod h1:c37rIdL3LrJXYwrfp9c8L4MabTqKIZUe1xvnWhN75oc= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 h1:dIr+MVsZeUBiKZELfJh5HRJdI+BI6lCp5pv/2oXekuk= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033/go.mod h1:7oFlNimGSTHFy6JV7W/IZKuJWr+NUjCnGLTvb9MWNrY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970 h1:PfyFPicGDDDc23id+sXh5vF0sbFpCPulzgLhqqVdp9M= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970/go.mod h1:VVMyTwJWyP+XVS9OK1y4tJV4XMXZgnKHl+Fg8r0Jf1Q= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.414/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= @@ -945,6 +947,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1030 h1:kwi github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1030/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1031 h1:3ouglYKE5cwhx2vwICGeW7pAlwyCLnpQd7O0l3hCSTg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1031/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1033 h1:g263/dapUpOAZJa1Y9x07WgfOl7Yy+FM5Mrf4WyttS8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1033/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU= diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index 3edf36e6c7..8071216eb0 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -1563,7 +1563,6 @@ func Provider() *schema.Provider { "tencentcloud_ckafka_consumer_group_modify_offset": ckafka.ResourceTencentCloudCkafkaConsumerGroupModifyOffset(), "tencentcloud_ckafka_datahub_task": ckafka.ResourceTencentCloudCkafkaDatahubTask(), "tencentcloud_ckafka_route": ckafka.ResourceTencentCloudCkafkaRoute(), - "tencentcloud_audit": audit.ResourceTencentCloudAudit(), "tencentcloud_audit_track": audit.ResourceTencentCloudAuditTrack(), "tencentcloud_image": cvm.ResourceTencentCloudImage(), "tencentcloud_cynosdb_proxy": cynosdb.ResourceTencentCloudCynosdbProxy(), diff --git a/tencentcloud/provider.md b/tencentcloud/provider.md index 0cd93894c7..0adf55bdaa 100644 --- a/tencentcloud/provider.md +++ b/tencentcloud/provider.md @@ -158,7 +158,6 @@ Cloud Audit(Audit) tencentcloud_audit_events Resource - tencentcloud_audit tencentcloud_audit_track Auto Scaling(AS) diff --git a/tencentcloud/services/audit/resource_tc_audit.go b/tencentcloud/services/audit/resource_tc_audit.go deleted file mode 100644 index 855bb4cf31..0000000000 --- a/tencentcloud/services/audit/resource_tc_audit.go +++ /dev/null @@ -1,339 +0,0 @@ -package audit - -import ( - "fmt" - "log" - - tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" - - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - audit "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319" - - "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" - "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/ratelimit" -) - -func ResourceTencentCloudAudit() *schema.Resource { - return &schema.Resource{ - DeprecationMessage: "This resource has been deprecated in Terraform TencentCloud provider version 1.78.16. Please use 'tencentcloud_audit_track' instead.", - Create: resourceTencentCloudAuditCreate, - Read: resourceTencentCloudAuditRead, - Update: resourceTencentCloudAuditUpdate, - Delete: resourceTencentCloudAuditDelete, - Importer: &schema.ResourceImporter{ - State: schema.ImportStatePassthrough, - }, - - Schema: map[string]*schema.Schema{ - "name": { - Type: schema.TypeString, - Required: true, - ForceNew: true, - Description: "Name of audit. Valid length ranges from 3 to 128. Only alpha character or numbers or '_' supported.", - }, - "cos_bucket": { - Type: schema.TypeString, - Required: true, - Description: "Name of the cos bucket to save audit log. Caution: the validation of existing cos bucket will not be checked by terraform.", - }, - "cos_region": { - Type: schema.TypeString, - Required: true, - Description: "Region of the cos bucket.", - }, - "enable_kms_encry": { - Type: schema.TypeBool, - Optional: true, - Default: false, - Description: "Indicate whether the log is encrypt with KMS algorithm or not.", - }, - "key_id": { - Type: schema.TypeString, - Optional: true, - Description: "Existing CMK unique key. This field can be get by data source `tencentcloud_audit_key_alias`. Caution: the region of the KMS must be as same as the `cos_region`.", - }, - "log_file_prefix": { - Type: schema.TypeString, - Computed: true, - Optional: true, - Description: "The log file name prefix. The length ranges from 3 to 40. If not set, the account ID will be the log file prefix.", - }, - "read_write_attribute": { - Type: schema.TypeInt, - Required: true, - Description: "Event attribute filter. Valid values: `1`, `2`, `3`. `1` for readonly, `2` for write-only, `3` for all.", - }, - "audit_switch": { - Type: schema.TypeBool, - Required: true, - Description: "Indicate whether to turn on audit logging or not.", - }, - }, - } -} - -func resourceTencentCloudAuditCreate(d *schema.ResourceData, meta interface{}) (errRet error) { - defer tccommon.LogElapsed("resource.tencentcloud_audit.create")() - request := audit.NewCreateAuditRequest() - - name := d.Get("name").(string) - cosBucketName := d.Get("cos_bucket").(string) - cosRegion := d.Get("cos_region").(string) - - isEnableKmsEncry := d.Get("enable_kms_encry").(bool) - keyId := "" - if v, ok := d.GetOk("key_id"); ok { - keyId = v.(string) - } - request.IsEnableKmsEncry = helper.BoolToInt64Ptr(isEnableKmsEncry) - if isEnableKmsEncry { - if keyId == "" { - return fmt.Errorf("`key_id` must be set with valid value when `enable_kms_encry` is true") - } - request.KmsRegion = &cosRegion - request.KeyId = &keyId - } else { - if keyId != "" { - return fmt.Errorf("`key_id` can not be set when `enable_kms_encry` is false") - } - } - - readWriteAttribute := d.Get("read_write_attribute").(int) - logFilePrefix := d.Get("log_file_prefix").(string) - - request.AuditName = &name - request.IsCreateNewBucket = helper.BoolToInt64Ptr(false) - request.CosBucketName = &cosBucketName - request.CosRegion = &cosRegion - //CMQ is not supported with terraform - request.IsEnableCmqNotify = helper.IntInt64(0) - request.ReadWriteAttribute = helper.IntInt64(readWriteAttribute) - request.LogFilePrefix = &logFilePrefix - - err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { - ratelimit.Check(request.GetAction()) - response, err := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseAuditClient().CreateAudit(request) - if err != nil { - return tccommon.RetryError(err) - } - if response != nil && response.Response != nil && int(*response.Response.IsSuccess) > 0 { - d.SetId(name) - return nil - } else { - return resource.NonRetryableError(fmt.Errorf("create audit %s failed", name)) - } - }) - - if err != nil { - return nil - } - - auditSwitch := d.Get("audit_switch").(bool) - - err = modifyAuditSwitch(name, auditSwitch, meta) - if err != nil { - errRet = err - return - } - - return resourceTencentCloudAuditRead(d, meta) -} - -func resourceTencentCloudAuditRead(d *schema.ResourceData, meta interface{}) (errRet error) { - defer tccommon.LogElapsed("resource.tencentcloud_audit.read")() - defer tccommon.InconsistentCheck(d, meta)() - logId := tccommon.GetLogId(tccommon.ContextNil) - request := audit.NewDescribeAuditRequest() - - auditId := d.Id() - - request.AuditName = &auditId - - ratelimit.Check(request.GetAction()) - var response *audit.DescribeAuditResponse - err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { - ratelimit.Check(request.GetAction()) - result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseAuditClient().DescribeAudit(request) - if e != nil { - log.Printf("[CRITAL]%s %s fail, reason:%s\n", logId, request.GetAction(), e.Error()) - return tccommon.RetryError(e) - } - response = result - return nil - }) - if err != nil { - errRet = err - return - } - - if response == nil || response.Response == nil || response.Response.AuditName == nil { - d.SetId("") - return nil - } - - _ = d.Set("name", response.Response.AuditName) - _ = d.Set("read_write_attribute", response.Response.ReadWriteAttribute) - _ = d.Set("log_file_prefix", response.Response.LogFilePrefix) - _ = d.Set("enable_kms_encry", *response.Response.IsEnableKmsEncry > 0) - _ = d.Set("cos_region", response.Response.CosRegion) - _ = d.Set("cos_bucket", response.Response.CosBucketName) - if *response.Response.IsEnableKmsEncry > 0 { - _ = d.Set("key_id", response.Response.KeyId) - } - _ = d.Set("audit_switch", *response.Response.AuditStatus > 0) - - return nil -} - -func resourceTencentCloudAuditUpdate(d *schema.ResourceData, meta interface{}) (errRet error) { - defer tccommon.LogElapsed("resource.tencentcloud_audit.update")() - - logId := tccommon.GetLogId(tccommon.ContextNil) - request := audit.NewUpdateAuditRequest() - - defer func() { - if errRet != nil { - log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", - logId, request.GetAction(), request.ToJsonString(), errRet.Error()) - } - }() - - attributeSet := []string{"cos_region", "cos_bucket", "enable_kms_encry", "log_file_prefix", "read_write_attribute", "key_id"} - attribuChange := false - for _, attr := range attributeSet { - if d.HasChange(attr) { - attribuChange = true - break - } - } - d.Partial(true) - if attribuChange { - name := d.Get("name").(string) - cosBucketName := d.Get("cos_bucket").(string) - cosRegion := d.Get("cos_region").(string) - - isEnableKmsEncry := d.Get("enable_kms_encry").(bool) - keyId := "" - if v, ok := d.GetOk("key_id"); ok { - keyId = v.(string) - } - request.IsEnableKmsEncry = helper.BoolToInt64Ptr(isEnableKmsEncry) - if isEnableKmsEncry { - if keyId == "" { - return fmt.Errorf("`key_id` must be set with valid value when `enable_kms_encry` is true") - } - request.KmsRegion = &cosRegion - request.KeyId = &keyId - } else { - if keyId != "" { - return fmt.Errorf("`key_id` can not be set when `enable_kms_encry` is false") - } - } - readWriteAttribute := d.Get("read_write_attribute").(int) - logFilePrefix := d.Get("log_file_prefix").(string) - - request.AuditName = &name - request.IsCreateNewBucket = helper.BoolToInt64Ptr(false) - request.CosBucketName = &cosBucketName - request.CosRegion = &cosRegion - //CMQ is not supported with terraform - request.IsEnableCmqNotify = helper.IntInt64(0) - request.ReadWriteAttribute = helper.IntInt64(readWriteAttribute) - request.LogFilePrefix = &logFilePrefix - - err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { - ratelimit.Check(request.GetAction()) - response, err := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseAuditClient().UpdateAudit(request) - if err != nil { - return tccommon.RetryError(err) - } - if response != nil && response.Response != nil && int(*response.Response.IsSuccess) > 0 { - return nil - } else { - return resource.NonRetryableError(fmt.Errorf("update audit %s failed", name)) - } - }) - if err != nil { - log.Printf("[CRITAL]%s delete audit %s failed, reason:%s\n", logId, name, err.Error()) - return err - } - } - if d.HasChange("audit_switch") { - auditSwitch := d.Get("audit_switch").(bool) - - err := modifyAuditSwitch(d.Id(), auditSwitch, meta) - if err != nil { - errRet = err - return - } - } - d.Partial(false) - - return resourceTencentCloudAuditRead(d, meta) -} - -func resourceTencentCloudAuditDelete(d *schema.ResourceData, meta interface{}) (errRet error) { - defer tccommon.LogElapsed("resource.tencentcloud_audit.delete")() - - logId := tccommon.GetLogId(tccommon.ContextNil) - request := audit.NewDeleteAuditRequest() - - auditId := d.Id() - - request.AuditName = &auditId - err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { - _, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseAuditClient().DeleteAudit(request) - if e != nil { - log.Printf("[CRITAL]%s reason[%s]\n", logId, e.Error()) - return tccommon.RetryError(e) - } - return nil - }) - if err != nil { - log.Printf("[CRITAL]%s delete audit %s failed, reason:%s\n", logId, auditId, err.Error()) - return err - } - return nil -} - -func modifyAuditSwitch(auditname string, auditSwitch bool, meta interface{}) (errRet error) { - if auditSwitch { - request := audit.NewStartLoggingRequest() - request.AuditName = &auditname - err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { - ratelimit.Check(request.GetAction()) - response, err := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseAuditClient().StartLogging(request) - if err != nil { - return tccommon.RetryError(err) - } - if response != nil && response.Response != nil && int(*response.Response.IsSuccess) > 0 { - return nil - } else { - return resource.NonRetryableError(fmt.Errorf("Start logging failed")) - } - }) - if err != nil { - return err - } - } else { - request := audit.NewStopLoggingRequest() - request.AuditName = &auditname - err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { - ratelimit.Check(request.GetAction()) - response, err := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseAuditClient().StopLogging(request) - if err != nil { - return tccommon.RetryError(err) - } - if response != nil && response.Response != nil && int(*response.Response.IsSuccess) > 0 { - return nil - } else { - return resource.NonRetryableError(fmt.Errorf("Stop logging failed")) - } - }) - if err != nil { - return err - } - } - return nil -} diff --git a/tencentcloud/services/audit/resource_tc_audit.md b/tencentcloud/services/audit/resource_tc_audit.md deleted file mode 100644 index 5a58ef58dd..0000000000 --- a/tencentcloud/services/audit/resource_tc_audit.md +++ /dev/null @@ -1,24 +0,0 @@ -Provides a resource to create an audit. - -~> **NOTE:** It has been deprecated and replaced by tencentcloud_audit_track. - -Example Usage - -```hcl -resource "tencentcloud_audit" "foo" { - name = "audittest" - cos_bucket = "test" - cos_region = "ap-hongkong" - log_file_prefix = "test" - audit_switch = true - read_write_attribute = 3 -} -``` - -Import - -Audit can be imported using the id, e.g. - -``` -$ terraform import tencentcloud_audit.foo audit-test -``` \ No newline at end of file diff --git a/tencentcloud/services/audit/resource_tc_audit_test.go b/tencentcloud/services/audit/resource_tc_audit_test.go deleted file mode 100644 index e457f7a0d9..0000000000 --- a/tencentcloud/services/audit/resource_tc_audit_test.go +++ /dev/null @@ -1,195 +0,0 @@ -package audit_test - -import ( - "context" - "fmt" - "testing" - "time" - - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" - tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" - - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" - "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" - - svcaudit "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/audit" -) - -func TestAccTencentCloudNeedFixAudit_basic(t *testing.T) { - t.Parallel() - resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, - CheckDestroy: testAccCheckAuditDestroy, - Steps: []resource.TestStep{ - { - Config: testAccAudit_basic, - Check: resource.ComposeTestCheckFunc( - testAccCheckAuditExists("tencentcloud_audit.audit_basic"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "name", "audittest"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "read_write_attribute", "3"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "cos_bucket", "test"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "cos_region", "ap-hongkong"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "log_file_prefix", "test"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "audit_switch", "true"), - ), - }, - { - ResourceName: "tencentcloud_audit.audit_basic", - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccAudit_update, - Check: resource.ComposeTestCheckFunc( - testAccCheckAuditExists("tencentcloud_audit.audit_basic"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "name", "audittest"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "read_write_attribute", "2"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "cos_bucket", "test1"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "cos_region", "ap-shanghai"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "log_file_prefix", "test11"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_basic", "audit_switch", "false"), - ), - }, - }, - }) -} - -func TestAccTencentCloudNeedFixAudit_kms(t *testing.T) { - t.Parallel() - resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, - CheckDestroy: testAccCheckAuditDestroy, - Steps: []resource.TestStep{ - { - Config: testAccAudit_kms, - Check: resource.ComposeTestCheckFunc( - testAccCheckAuditExists("tencentcloud_audit.audit_kms"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "name", "audittest"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "enable_kms_encry", "true"), - resource.TestCheckResourceAttrSet("tencentcloud_audit.audit_kms", "key_id"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "read_write_attribute", "3"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "cos_bucket", "test"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "cos_region", "ap-hongkong"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "log_file_prefix", "test"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "audit_switch", "true"), - ), - }, - { - ResourceName: "tencentcloud_audit.audit_kms", - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccAudit_kms_update, - Check: resource.ComposeTestCheckFunc( - testAccCheckAuditExists("tencentcloud_audit.audit_kms"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "name", "audittest"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "enable_kms_encry", "false"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "read_write_attribute", "2"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "cos_bucket", "test1"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "cos_region", "ap-shanghai"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "log_file_prefix", "test11"), - resource.TestCheckResourceAttr("tencentcloud_audit.audit_kms", "audit_switch", "false"), - ), - }, - }, - }) -} - -func testAccCheckAuditDestroy(s *terraform.State) error { - logId := tccommon.GetLogId(tccommon.ContextNil) - ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId) - - auditService := svcaudit.NewAuditService(tcacctest.AccProvider.Meta().(tccommon.ProviderMeta).GetAPIV3Conn()) - for _, rs := range s.RootModule().Resources { - if rs.Type != "tencentcloud_audit" { - continue - } - time.Sleep(5 * time.Second) - _, has, err := auditService.DescribeAuditById(ctx, rs.Primary.ID) - if err != nil { - return err - } - if has { - return fmt.Errorf("[CHECK][Audit][Exists] id %s still exist", rs.Primary.ID) - } - } - return nil -} - -func testAccCheckAuditExists(n string) resource.TestCheckFunc { - return func(s *terraform.State) error { - logId := tccommon.GetLogId(tccommon.ContextNil) - ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId) - - rs, ok := s.RootModule().Resources[n] - if !ok { - return fmt.Errorf("[CHECK][Audit][Exists] check: Audit %s is not found", n) - } - if rs.Primary.ID == "" { - return fmt.Errorf("[CHECK][Audit][Create] check: Audit id is not set") - } - auditService := svcaudit.NewAuditService(tcacctest.AccProvider.Meta().(tccommon.ProviderMeta).GetAPIV3Conn()) - _, has, err := auditService.DescribeAuditById(ctx, rs.Primary.ID) - if err != nil { - return err - } - if !has { - return fmt.Errorf("[CHECK][Audit][Exists] id %s is not exist", rs.Primary.ID) - } - return nil - } -} - -const testAccAudit_basic = ` -resource "tencentcloud_audit" "audit_basic" { - name = "audittest" - cos_bucket = "test" - cos_region = "ap-hongkong" - log_file_prefix = "test" - audit_switch = true - read_write_attribute = 3 -} -` - -const testAccAudit_update = ` -resource "tencentcloud_audit" "audit_basic" { - name = "audittest" - cos_bucket = "test1" - cos_region = "ap-shanghai" - log_file_prefix = "test11" - audit_switch = false - read_write_attribute = 2 -} -` - -const testAccAudit_kms = ` -data "tencentcloud_audit_key_alias" "all" { - region = "ap-hongkong" -} - -resource "tencentcloud_audit" "audit_kms" { - name = "audittest" - cos_bucket = "test" - cos_region = "ap-hongkong" - enable_kms_encry = true - log_file_prefix = "test" - key_id = data.tencentcloud_audit_key_alias.all.audit_key_alias_list.0.key_id - audit_switch = true - read_write_attribute = 3 -} -` - -const testAccAudit_kms_update = ` -resource "tencentcloud_audit" "audit_kms" { - name = "audittest" - cos_bucket = "test1" - cos_region = "ap-shanghai" - enable_kms_encry = false - log_file_prefix = "test11" - audit_switch = false - read_write_attribute = 2 -} -` diff --git a/tencentcloud/services/audit/resource_tc_audit_track.go b/tencentcloud/services/audit/resource_tc_audit_track.go index 65ea9efbac..86d747fdb7 100644 --- a/tencentcloud/services/audit/resource_tc_audit_track.go +++ b/tencentcloud/services/audit/resource_tc_audit_track.go @@ -84,6 +84,16 @@ func ResourceTencentCloudAuditTrack() *schema.Resource { Required: true, Description: "Storage path prefix.", }, + "storage_account_id": { + Type: schema.TypeString, + Optional: true, + Description: "Designated to store user ID.", + }, + "storage_app_id": { + Type: schema.TypeString, + Optional: true, + Description: "Designated to store user appid.", + }, }, }, }, @@ -153,6 +163,12 @@ func resourceTencentCloudAuditTrackCreate(d *schema.ResourceData, meta interface if v, ok := dMap["storage_prefix"]; ok { storage.StoragePrefix = helper.String(v.(string)) } + if v, ok := dMap["storage_account_id"]; ok && v != "" { + storage.StorageAccountId = helper.String(v.(string)) + } + if v, ok := dMap["storage_app_id"]; ok && v != "" { + storage.StorageAppId = helper.String(v.(string)) + } request.Storage = &storage } @@ -239,6 +255,12 @@ func resourceTencentCloudAuditTrackRead(d *schema.ResourceData, meta interface{} if track.Storage.StoragePrefix != nil { storageMap["storage_prefix"] = track.Storage.StoragePrefix } + if track.Storage.StorageAccountId != nil { + storageMap["storage_account_id"] = track.Storage.StorageAccountId + } + if track.Storage.StorageAppId != nil { + storageMap["storage_app_id"] = track.Storage.StorageAppId + } _ = d.Set("storage", []interface{}{storageMap}) } @@ -314,6 +336,12 @@ func resourceTencentCloudAuditTrackUpdate(d *schema.ResourceData, meta interface if v, ok := dMap["storage_prefix"]; ok { storage.StoragePrefix = helper.String(v.(string)) } + if v, ok := dMap["storage_account_id"]; ok && v != "" { + storage.StorageAccountId = helper.String(v.(string)) + } + if v, ok := dMap["storage_app_id"]; ok && v != "" { + storage.StorageAppId = helper.String(v.(string)) + } request.Storage = &storage } } diff --git a/tencentcloud/services/audit/resource_tc_audit_track.md b/tencentcloud/services/audit/resource_tc_audit_track.md index 047752a878..bd8bd3e241 100644 --- a/tencentcloud/services/audit/resource_tc_audit_track.md +++ b/tencentcloud/services/audit/resource_tc_audit_track.md @@ -3,9 +3,9 @@ Provides a resource to create a audit track Example Usage ```hcl -resource "tencentcloud_audit_track" "track" { - action_type = "Read" - event_names = [ +resource "tencentcloud_audit_track" "example" { + action_type = "Read" + event_names = [ "*", ] name = "terraform_track" @@ -20,11 +20,35 @@ resource "tencentcloud_audit_track" "track" { storage_type = "cls" } } +``` + +Specify storage user + +```hcl +resource "tencentcloud_audit_track" "example" { + action_type = "Read" + event_names = [ + "*", + ] + name = "terraform_track" + resource_type = "*" + status = 1 + track_for_all_members = 0 + storage { + storage_name = "db90b92c-91d2-46b0-94ac-debbbb21dc4e" + storage_prefix = "cloudaudit" + storage_region = "ap-guangzhou" + storage_type = "cls" + storage_account_id = "100037717137" + storage_app_id = "1309116520" + } +} ``` + Import audit track can be imported using the id, e.g. ``` -$ terraform import tencentcloud_audit_track.track track_id +$ terraform import tencentcloud_audit_track.example 24283 ``` \ No newline at end of file diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/client.go index d07467e8a8..5673d57bae 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/client.go @@ -45,114 +45,6 @@ func NewClient(credential common.CredentialIface, region string, clientProfile * } -func NewCreateAuditRequest() (request *CreateAuditRequest) { - request = &CreateAuditRequest{ - BaseRequest: &tchttp.BaseRequest{}, - } - - request.Init().WithApiInfo("cloudaudit", APIVersion, "CreateAudit") - - - return -} - -func NewCreateAuditResponse() (response *CreateAuditResponse) { - response = &CreateAuditResponse{ - BaseResponse: &tchttp.BaseResponse{}, - } - return -} - -// CreateAudit -// 参数要求: -// -// 1、如果IsCreateNewBucket的值存在的话,cosRegion和cosBucketName都是必填参数。 -// -// 2、如果IsEnableCmqNotify的值是1的话,IsCreateNewQueue、CmqRegion和CmqQueueName都是必填参数。 -// -// 3、如果IsEnableCmqNotify的值是0的话,IsCreateNewQueue、CmqRegion和CmqQueueName都不能传。 -// -// 4、如果IsEnableKmsEncry的值是1的话,KmsRegion和KeyId属于必填项 -// -// 可能返回的错误码: -// FAILEDOPERATION_CREATEBUCKETFAIL = "FailedOperation.CreateBucketFail" -// INTERNALERROR_CMQERROR = "InternalError.CmqError" -// INTERNALERROR_CREATEAUDITERROR = "InternalError.CreateAuditError" -// INVALIDPARAMETERVALUE_AUDITNAMEERROR = "InvalidParameterValue.AuditNameError" -// INVALIDPARAMETERVALUE_CMQREGIONERROR = "InvalidParameterValue.CmqRegionError" -// INVALIDPARAMETERVALUE_COSNAMEERROR = "InvalidParameterValue.CosNameError" -// INVALIDPARAMETERVALUE_COSREGIONERROR = "InvalidParameterValue.CosRegionError" -// INVALIDPARAMETERVALUE_ISCREATENEWBUCKETERROR = "InvalidParameterValue.IsCreateNewBucketError" -// INVALIDPARAMETERVALUE_ISCREATENEWQUEUEERROR = "InvalidParameterValue.IsCreateNewQueueError" -// INVALIDPARAMETERVALUE_ISENABLECMQNOTIFYERROR = "InvalidParameterValue.IsEnableCmqNotifyError" -// INVALIDPARAMETERVALUE_LOGFILEPREFIXERROR = "InvalidParameterValue.LogFilePrefixError" -// INVALIDPARAMETERVALUE_QUEUENAMEERROR = "InvalidParameterValue.QueueNameError" -// INVALIDPARAMETERVALUE_READWRITEATTRIBUTEERROR = "InvalidParameterValue.ReadWriteAttributeError" -// LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" -// MISSINGPARAMETER_MISSAUDITNAME = "MissingParameter.MissAuditName" -// MISSINGPARAMETER_MISSCOSBUCKETNAME = "MissingParameter.MissCosBucketName" -// MISSINGPARAMETER_MISSCOSREGION = "MissingParameter.MissCosRegion" -// MISSINGPARAMETER_CMQ = "MissingParameter.cmq" -// RESOURCEINUSE_ALREADYEXISTSSAMEAUDIT = "ResourceInUse.AlreadyExistsSameAudit" -// RESOURCEINUSE_ALREADYEXISTSSAMEAUDITCMQCONFIG = "ResourceInUse.AlreadyExistsSameAuditCmqConfig" -// RESOURCEINUSE_ALREADYEXISTSSAMEAUDITCOSCONFIG = "ResourceInUse.AlreadyExistsSameAuditCosConfig" -// RESOURCEINUSE_COSBUCKETEXISTS = "ResourceInUse.CosBucketExists" -// RESOURCENOTFOUND_ROLENOTEXIST = "ResourceNotFound.RoleNotExist" -func (c *Client) CreateAudit(request *CreateAuditRequest) (response *CreateAuditResponse, err error) { - return c.CreateAuditWithContext(context.Background(), request) -} - -// CreateAudit -// 参数要求: -// -// 1、如果IsCreateNewBucket的值存在的话,cosRegion和cosBucketName都是必填参数。 -// -// 2、如果IsEnableCmqNotify的值是1的话,IsCreateNewQueue、CmqRegion和CmqQueueName都是必填参数。 -// -// 3、如果IsEnableCmqNotify的值是0的话,IsCreateNewQueue、CmqRegion和CmqQueueName都不能传。 -// -// 4、如果IsEnableKmsEncry的值是1的话,KmsRegion和KeyId属于必填项 -// -// 可能返回的错误码: -// FAILEDOPERATION_CREATEBUCKETFAIL = "FailedOperation.CreateBucketFail" -// INTERNALERROR_CMQERROR = "InternalError.CmqError" -// INTERNALERROR_CREATEAUDITERROR = "InternalError.CreateAuditError" -// INVALIDPARAMETERVALUE_AUDITNAMEERROR = "InvalidParameterValue.AuditNameError" -// INVALIDPARAMETERVALUE_CMQREGIONERROR = "InvalidParameterValue.CmqRegionError" -// INVALIDPARAMETERVALUE_COSNAMEERROR = "InvalidParameterValue.CosNameError" -// INVALIDPARAMETERVALUE_COSREGIONERROR = "InvalidParameterValue.CosRegionError" -// INVALIDPARAMETERVALUE_ISCREATENEWBUCKETERROR = "InvalidParameterValue.IsCreateNewBucketError" -// INVALIDPARAMETERVALUE_ISCREATENEWQUEUEERROR = "InvalidParameterValue.IsCreateNewQueueError" -// INVALIDPARAMETERVALUE_ISENABLECMQNOTIFYERROR = "InvalidParameterValue.IsEnableCmqNotifyError" -// INVALIDPARAMETERVALUE_LOGFILEPREFIXERROR = "InvalidParameterValue.LogFilePrefixError" -// INVALIDPARAMETERVALUE_QUEUENAMEERROR = "InvalidParameterValue.QueueNameError" -// INVALIDPARAMETERVALUE_READWRITEATTRIBUTEERROR = "InvalidParameterValue.ReadWriteAttributeError" -// LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" -// MISSINGPARAMETER_MISSAUDITNAME = "MissingParameter.MissAuditName" -// MISSINGPARAMETER_MISSCOSBUCKETNAME = "MissingParameter.MissCosBucketName" -// MISSINGPARAMETER_MISSCOSREGION = "MissingParameter.MissCosRegion" -// MISSINGPARAMETER_CMQ = "MissingParameter.cmq" -// RESOURCEINUSE_ALREADYEXISTSSAMEAUDIT = "ResourceInUse.AlreadyExistsSameAudit" -// RESOURCEINUSE_ALREADYEXISTSSAMEAUDITCMQCONFIG = "ResourceInUse.AlreadyExistsSameAuditCmqConfig" -// RESOURCEINUSE_ALREADYEXISTSSAMEAUDITCOSCONFIG = "ResourceInUse.AlreadyExistsSameAuditCosConfig" -// RESOURCEINUSE_COSBUCKETEXISTS = "ResourceInUse.CosBucketExists" -// RESOURCENOTFOUND_ROLENOTEXIST = "ResourceNotFound.RoleNotExist" -func (c *Client) CreateAuditWithContext(ctx context.Context, request *CreateAuditRequest) (response *CreateAuditResponse, err error) { - if request == nil { - request = NewCreateAuditRequest() - } - - if c.GetCredential() == nil { - return nil, errors.New("CreateAudit require credential") - } - - request.SetContext(ctx) - - response = NewCreateAuditResponse() - err = c.Send(request, response) - return -} - func NewCreateAuditTrackRequest() (request *CreateAuditTrackRequest) { request = &CreateAuditTrackRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -167,14 +59,16 @@ func NewCreateAuditTrackRequest() (request *CreateAuditTrackRequest) { func NewCreateAuditTrackResponse() (response *CreateAuditTrackResponse) { response = &CreateAuditTrackResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // CreateAuditTrack -// 创建跟踪集 +// 创建操作审计跟踪集 // // 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" // FAILEDOPERATION_CHECKCLSTOPICISEXISTFAILED = "FailedOperation.CheckClsTopicIsExistFailed" // FAILEDOPERATION_CHECKCOSBUCKETISEXISTFAILED = "FailedOperation.CheckCosBucketIsExistFailed" // FAILEDOPERATION_GETCLSTOPICFAILED = "FailedOperation.GetClsTopicFailed" @@ -186,14 +80,16 @@ func NewCreateAuditTrackResponse() (response *CreateAuditTrackResponse) { // INVALIDPARAMETERVALUE_COSREGIONERROR = "InvalidParameterValue.CosRegionError" // LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" // RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_COSNOTEXIST = "ResourceNotFound.CosNotExist" func (c *Client) CreateAuditTrack(request *CreateAuditTrackRequest) (response *CreateAuditTrackResponse, err error) { return c.CreateAuditTrackWithContext(context.Background(), request) } // CreateAuditTrack -// 创建跟踪集 +// 创建操作审计跟踪集 // // 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" // FAILEDOPERATION_CHECKCLSTOPICISEXISTFAILED = "FailedOperation.CheckClsTopicIsExistFailed" // FAILEDOPERATION_CHECKCOSBUCKETISEXISTFAILED = "FailedOperation.CheckCosBucketIsExistFailed" // FAILEDOPERATION_GETCLSTOPICFAILED = "FailedOperation.GetClsTopicFailed" @@ -205,6 +101,7 @@ func (c *Client) CreateAuditTrack(request *CreateAuditTrackRequest) (response *C // INVALIDPARAMETERVALUE_COSREGIONERROR = "InvalidParameterValue.CosRegionError" // LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" // RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_COSNOTEXIST = "ResourceNotFound.CosNotExist" func (c *Client) CreateAuditTrackWithContext(ctx context.Context, request *CreateAuditTrackRequest) (response *CreateAuditTrackResponse, err error) { if request == nil { request = NewCreateAuditTrackRequest() @@ -221,52 +118,75 @@ func (c *Client) CreateAuditTrackWithContext(ctx context.Context, request *Creat return } -func NewDeleteAuditRequest() (request *DeleteAuditRequest) { - request = &DeleteAuditRequest{ +func NewCreateEventsAuditTrackRequest() (request *CreateEventsAuditTrackRequest) { + request = &CreateEventsAuditTrackRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("cloudaudit", APIVersion, "DeleteAudit") + request.Init().WithApiInfo("cloudaudit", APIVersion, "CreateEventsAuditTrack") return } -func NewDeleteAuditResponse() (response *DeleteAuditResponse) { - response = &DeleteAuditResponse{ +func NewCreateEventsAuditTrackResponse() (response *CreateEventsAuditTrackResponse) { + response = &CreateEventsAuditTrackResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } -// DeleteAudit -// 删除跟踪集 +// CreateEventsAuditTrack +// 创建操作审计跟踪集 // // 可能返回的错误码: -// INTERNALERROR_DELETEAUDITERROR = "InternalError.DeleteAuditError" -// RESOURCENOTFOUND_AUDITNOTEXIST = "ResourceNotFound.AuditNotExist" -func (c *Client) DeleteAudit(request *DeleteAuditRequest) (response *DeleteAuditResponse, err error) { - return c.DeleteAuditWithContext(context.Background(), request) +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_CHECKCLSTOPICISEXISTFAILED = "FailedOperation.CheckClsTopicIsExistFailed" +// FAILEDOPERATION_CHECKCOSBUCKETISEXISTFAILED = "FailedOperation.CheckCosBucketIsExistFailed" +// FAILEDOPERATION_GETCLSTOPICFAILED = "FailedOperation.GetClsTopicFailed" +// FAILEDOPERATION_GETCOSBUCKETLISTFAILED = "FailedOperation.GetCosBucketListFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_SEARCHERROR = "InternalError.SearchError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE_ALIASALREADYEXISTS = "InvalidParameterValue.AliasAlreadyExists" +// INVALIDPARAMETERVALUE_COSREGIONERROR = "InvalidParameterValue.CosRegionError" +// LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_COSNOTEXIST = "ResourceNotFound.CosNotExist" +func (c *Client) CreateEventsAuditTrack(request *CreateEventsAuditTrackRequest) (response *CreateEventsAuditTrackResponse, err error) { + return c.CreateEventsAuditTrackWithContext(context.Background(), request) } -// DeleteAudit -// 删除跟踪集 +// CreateEventsAuditTrack +// 创建操作审计跟踪集 // // 可能返回的错误码: -// INTERNALERROR_DELETEAUDITERROR = "InternalError.DeleteAuditError" -// RESOURCENOTFOUND_AUDITNOTEXIST = "ResourceNotFound.AuditNotExist" -func (c *Client) DeleteAuditWithContext(ctx context.Context, request *DeleteAuditRequest) (response *DeleteAuditResponse, err error) { +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_CHECKCLSTOPICISEXISTFAILED = "FailedOperation.CheckClsTopicIsExistFailed" +// FAILEDOPERATION_CHECKCOSBUCKETISEXISTFAILED = "FailedOperation.CheckCosBucketIsExistFailed" +// FAILEDOPERATION_GETCLSTOPICFAILED = "FailedOperation.GetClsTopicFailed" +// FAILEDOPERATION_GETCOSBUCKETLISTFAILED = "FailedOperation.GetCosBucketListFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_SEARCHERROR = "InternalError.SearchError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE_ALIASALREADYEXISTS = "InvalidParameterValue.AliasAlreadyExists" +// INVALIDPARAMETERVALUE_COSREGIONERROR = "InvalidParameterValue.CosRegionError" +// LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_COSNOTEXIST = "ResourceNotFound.CosNotExist" +func (c *Client) CreateEventsAuditTrackWithContext(ctx context.Context, request *CreateEventsAuditTrackRequest) (response *CreateEventsAuditTrackResponse, err error) { if request == nil { - request = NewDeleteAuditRequest() + request = NewCreateEventsAuditTrackRequest() } if c.GetCredential() == nil { - return nil, errors.New("DeleteAudit require credential") + return nil, errors.New("CreateEventsAuditTrack require credential") } request.SetContext(ctx) - response = NewDeleteAuditResponse() + response = NewCreateEventsAuditTrackResponse() err = c.Send(request, response) return } @@ -285,12 +205,13 @@ func NewDeleteAuditTrackRequest() (request *DeleteAuditTrackRequest) { func NewDeleteAuditTrackResponse() (response *DeleteAuditTrackResponse) { response = &DeleteAuditTrackResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // DeleteAuditTrack -// 删除云审计跟踪集 +// 删除操作审计跟踪集 // // 可能返回的错误码: // INTERNALERROR = "InternalError" @@ -303,7 +224,7 @@ func (c *Client) DeleteAuditTrack(request *DeleteAuditTrackRequest) (response *D } // DeleteAuditTrack -// 删除云审计跟踪集 +// 删除操作审计跟踪集 // // 可能返回的错误码: // INTERNALERROR = "InternalError" @@ -341,8 +262,9 @@ func NewDescribeAuditRequest() (request *DescribeAuditRequest) { func NewDescribeAuditResponse() (response *DescribeAuditResponse) { response = &DescribeAuditResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // DescribeAudit @@ -391,12 +313,13 @@ func NewDescribeAuditTrackRequest() (request *DescribeAuditTrackRequest) { func NewDescribeAuditTrackResponse() (response *DescribeAuditTrackResponse) { response = &DescribeAuditTrackResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // DescribeAuditTrack -// 查询云审计跟踪集详情 +// 查询操作审计跟踪集详情 // // 可能返回的错误码: // INTERNALERROR = "InternalError" @@ -409,7 +332,7 @@ func (c *Client) DescribeAuditTrack(request *DescribeAuditTrackRequest) (respons } // DescribeAuditTrack -// 查询云审计跟踪集详情 +// 查询操作审计跟踪集详情 // // 可能返回的错误码: // INTERNALERROR = "InternalError" @@ -447,12 +370,13 @@ func NewDescribeAuditTracksRequest() (request *DescribeAuditTracksRequest) { func NewDescribeAuditTracksResponse() (response *DescribeAuditTracksResponse) { response = &DescribeAuditTracksResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // DescribeAuditTracks -// 查询云审计跟踪集列表 +// 查询操作审计跟踪集列表 // // 可能返回的错误码: // INTERNALERROR = "InternalError" @@ -464,7 +388,7 @@ func (c *Client) DescribeAuditTracks(request *DescribeAuditTracksRequest) (respo } // DescribeAuditTracks -// 查询云审计跟踪集列表 +// 查询操作审计跟踪集列表 // // 可能返回的错误码: // INTERNALERROR = "InternalError" @@ -501,12 +425,13 @@ func NewDescribeEventsRequest() (request *DescribeEventsRequest) { func NewDescribeEventsResponse() (response *DescribeEventsResponse) { response = &DescribeEventsResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // DescribeEvents -// 查询云审计日志 +// 查询操作审计日志 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -518,7 +443,7 @@ func (c *Client) DescribeEvents(request *DescribeEventsRequest) (response *Descr } // DescribeEvents -// 查询云审计日志 +// 查询操作审计日志 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -555,8 +480,9 @@ func NewGetAttributeKeyRequest() (request *GetAttributeKeyRequest) { func NewGetAttributeKeyResponse() (response *GetAttributeKeyResponse) { response = &GetAttributeKeyResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // GetAttributeKey @@ -603,8 +529,9 @@ func NewInquireAuditCreditRequest() (request *InquireAuditCreditRequest) { func NewInquireAuditCreditResponse() (response *InquireAuditCreditResponse) { response = &InquireAuditCreditResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // InquireAuditCredit @@ -651,8 +578,9 @@ func NewListAuditsRequest() (request *ListAuditsRequest) { func NewListAuditsResponse() (response *ListAuditsResponse) { response = &ListAuditsResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // ListAudits @@ -699,8 +627,9 @@ func NewListCmqEnableRegionRequest() (request *ListCmqEnableRegionRequest) { func NewListCmqEnableRegionResponse() (response *ListCmqEnableRegionResponse) { response = &ListCmqEnableRegionResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // ListCmqEnableRegion @@ -747,8 +676,9 @@ func NewListCosEnableRegionRequest() (request *ListCosEnableRegionRequest) { func NewListCosEnableRegionResponse() (response *ListCosEnableRegionResponse) { response = &ListCosEnableRegionResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // ListCosEnableRegion @@ -795,8 +725,9 @@ func NewListKeyAliasByRegionRequest() (request *ListKeyAliasByRegionRequest) { func NewListKeyAliasByRegionResponse() (response *ListKeyAliasByRegionResponse) { response = &ListKeyAliasByRegionResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // ListKeyAliasByRegion @@ -847,8 +778,9 @@ func NewLookUpEventsRequest() (request *LookUpEventsRequest) { func NewLookUpEventsResponse() (response *LookUpEventsResponse) { response = &LookUpEventsResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // LookUpEvents @@ -860,6 +792,7 @@ func NewLookUpEventsResponse() (response *LookUpEventsResponse) { // INVALIDPARAMETERVALUE_MAXRESULT = "InvalidParameterValue.MaxResult" // INVALIDPARAMETERVALUE_TIME = "InvalidParameterValue.Time" // INVALIDPARAMETERVALUE_ATTRIBUTEKEY = "InvalidParameterValue.attributeKey" +// LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" // LIMITEXCEEDED_OVERTIME = "LimitExceeded.OverTime" func (c *Client) LookUpEvents(request *LookUpEventsRequest) (response *LookUpEventsResponse, err error) { return c.LookUpEventsWithContext(context.Background(), request) @@ -874,6 +807,7 @@ func (c *Client) LookUpEvents(request *LookUpEventsRequest) (response *LookUpEve // INVALIDPARAMETERVALUE_MAXRESULT = "InvalidParameterValue.MaxResult" // INVALIDPARAMETERVALUE_TIME = "InvalidParameterValue.Time" // INVALIDPARAMETERVALUE_ATTRIBUTEKEY = "InvalidParameterValue.attributeKey" +// LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" // LIMITEXCEEDED_OVERTIME = "LimitExceeded.OverTime" func (c *Client) LookUpEventsWithContext(ctx context.Context, request *LookUpEventsRequest) (response *LookUpEventsResponse, err error) { if request == nil { @@ -905,12 +839,13 @@ func NewModifyAuditTrackRequest() (request *ModifyAuditTrackRequest) { func NewModifyAuditTrackResponse() (response *ModifyAuditTrackResponse) { response = &ModifyAuditTrackResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // ModifyAuditTrack -// 修改云审计跟踪 +// 修改操作审计跟踪集 // // 可能返回的错误码: // FAILEDOPERATION_CHECKCLSTOPICISEXISTFAILED = "FailedOperation.CheckClsTopicIsExistFailed" @@ -926,12 +861,13 @@ func NewModifyAuditTrackResponse() (response *ModifyAuditTrackResponse) { // LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" // RESOURCENOTFOUND = "ResourceNotFound" // RESOURCENOTFOUND_AUDITNOTEXIST = "ResourceNotFound.AuditNotExist" +// RESOURCENOTFOUND_COSNOTEXIST = "ResourceNotFound.CosNotExist" func (c *Client) ModifyAuditTrack(request *ModifyAuditTrackRequest) (response *ModifyAuditTrackResponse, err error) { return c.ModifyAuditTrackWithContext(context.Background(), request) } // ModifyAuditTrack -// 修改云审计跟踪 +// 修改操作审计跟踪集 // // 可能返回的错误码: // FAILEDOPERATION_CHECKCLSTOPICISEXISTFAILED = "FailedOperation.CheckClsTopicIsExistFailed" @@ -947,6 +883,7 @@ func (c *Client) ModifyAuditTrack(request *ModifyAuditTrackRequest) (response *M // LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" // RESOURCENOTFOUND = "ResourceNotFound" // RESOURCENOTFOUND_AUDITNOTEXIST = "ResourceNotFound.AuditNotExist" +// RESOURCENOTFOUND_COSNOTEXIST = "ResourceNotFound.CosNotExist" func (c *Client) ModifyAuditTrackWithContext(ctx context.Context, request *ModifyAuditTrackRequest) (response *ModifyAuditTrackResponse, err error) { if request == nil { request = NewModifyAuditTrackRequest() @@ -963,6 +900,81 @@ func (c *Client) ModifyAuditTrackWithContext(ctx context.Context, request *Modif return } +func NewModifyEventsAuditTrackRequest() (request *ModifyEventsAuditTrackRequest) { + request = &ModifyEventsAuditTrackRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cloudaudit", APIVersion, "ModifyEventsAuditTrack") + + + return +} + +func NewModifyEventsAuditTrackResponse() (response *ModifyEventsAuditTrackResponse) { + response = &ModifyEventsAuditTrackResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyEventsAuditTrack +// 修改操作审计跟踪集 +// +// 可能返回的错误码: +// FAILEDOPERATION_CHECKCLSTOPICISEXISTFAILED = "FailedOperation.CheckClsTopicIsExistFailed" +// FAILEDOPERATION_CHECKCOSBUCKETISEXISTFAILED = "FailedOperation.CheckCosBucketIsExistFailed" +// FAILEDOPERATION_GETCLSTOPICFAILED = "FailedOperation.GetClsTopicFailed" +// FAILEDOPERATION_GETCOSBUCKETLISTFAILED = "FailedOperation.GetCosBucketListFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_SEARCHERROR = "InternalError.SearchError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE_ALIASALREADYEXISTS = "InvalidParameterValue.AliasAlreadyExists" +// INVALIDPARAMETERVALUE_AUDITTRACKNAMENOTSUPPORTMODIFY = "InvalidParameterValue.AuditTrackNameNotSupportModify" +// INVALIDPARAMETERVALUE_COSREGIONERROR = "InvalidParameterValue.CosRegionError" +// LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_AUDITNOTEXIST = "ResourceNotFound.AuditNotExist" +// RESOURCENOTFOUND_COSNOTEXIST = "ResourceNotFound.CosNotExist" +func (c *Client) ModifyEventsAuditTrack(request *ModifyEventsAuditTrackRequest) (response *ModifyEventsAuditTrackResponse, err error) { + return c.ModifyEventsAuditTrackWithContext(context.Background(), request) +} + +// ModifyEventsAuditTrack +// 修改操作审计跟踪集 +// +// 可能返回的错误码: +// FAILEDOPERATION_CHECKCLSTOPICISEXISTFAILED = "FailedOperation.CheckClsTopicIsExistFailed" +// FAILEDOPERATION_CHECKCOSBUCKETISEXISTFAILED = "FailedOperation.CheckCosBucketIsExistFailed" +// FAILEDOPERATION_GETCLSTOPICFAILED = "FailedOperation.GetClsTopicFailed" +// FAILEDOPERATION_GETCOSBUCKETLISTFAILED = "FailedOperation.GetCosBucketListFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_SEARCHERROR = "InternalError.SearchError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE_ALIASALREADYEXISTS = "InvalidParameterValue.AliasAlreadyExists" +// INVALIDPARAMETERVALUE_AUDITTRACKNAMENOTSUPPORTMODIFY = "InvalidParameterValue.AuditTrackNameNotSupportModify" +// INVALIDPARAMETERVALUE_COSREGIONERROR = "InvalidParameterValue.CosRegionError" +// LIMITEXCEEDED_OVERAMOUNT = "LimitExceeded.OverAmount" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_AUDITNOTEXIST = "ResourceNotFound.AuditNotExist" +// RESOURCENOTFOUND_COSNOTEXIST = "ResourceNotFound.CosNotExist" +func (c *Client) ModifyEventsAuditTrackWithContext(ctx context.Context, request *ModifyEventsAuditTrackRequest) (response *ModifyEventsAuditTrackResponse, err error) { + if request == nil { + request = NewModifyEventsAuditTrackRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyEventsAuditTrack require credential") + } + + request.SetContext(ctx) + + response = NewModifyEventsAuditTrackResponse() + err = c.Send(request, response) + return +} + func NewStartLoggingRequest() (request *StartLoggingRequest) { request = &StartLoggingRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -977,8 +989,9 @@ func NewStartLoggingRequest() (request *StartLoggingRequest) { func NewStartLoggingResponse() (response *StartLoggingResponse) { response = &StartLoggingResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // StartLogging @@ -1027,8 +1040,9 @@ func NewStopLoggingRequest() (request *StopLoggingRequest) { func NewStopLoggingResponse() (response *StopLoggingResponse) { response = &StopLoggingResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // StopLogging @@ -1077,8 +1091,9 @@ func NewUpdateAuditRequest() (request *UpdateAuditRequest) { func NewUpdateAuditResponse() (response *UpdateAuditResponse) { response = &UpdateAuditResponse{ BaseResponse: &tchttp.BaseResponse{}, - } + } return + } // UpdateAudit diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/errors.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/errors.go index b94ecdede8..d0fc46b656 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/errors.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/errors.go @@ -26,9 +26,6 @@ const ( // 检查cos桶是否存在失败。 FAILEDOPERATION_CHECKCOSBUCKETISEXISTFAILED = "FailedOperation.CheckCosBucketIsExistFailed" - // 创建COS存储桶失败 - FAILEDOPERATION_CREATEBUCKETFAIL = "FailedOperation.CreateBucketFail" - // 拉取cls日志主题失败。 FAILEDOPERATION_GETCLSTOPICFAILED = "FailedOperation.GetClsTopicFailed" @@ -41,12 +38,6 @@ const ( // 创建cmq时发生异常,可能您准备创建的cmq队列已经存在,也有可能您没有权限或者欠费。 INTERNALERROR_CMQERROR = "InternalError.CmqError" - // 创建跟踪集错误,请联系开发人员。 - INTERNALERROR_CREATEAUDITERROR = "InternalError.CreateAuditError" - - // 删除跟踪集失败,请联系开发人员 - INTERNALERROR_DELETEAUDITERROR = "InternalError.DeleteAuditError" - // 查看跟踪集详情错误,请联系开发人员 INTERNALERROR_DESCRIBEAUDITERROR = "InternalError.DescribeAuditError" @@ -86,31 +77,19 @@ const ( // 别名已经存在 INVALIDPARAMETERVALUE_ALIASALREADYEXISTS = "InvalidParameterValue.AliasAlreadyExists" - // 跟踪集名称不符合规则 - INVALIDPARAMETERVALUE_AUDITNAMEERROR = "InvalidParameterValue.AuditNameError" - // 跟踪集名称不支持修改。 INVALIDPARAMETERVALUE_AUDITTRACKNAMENOTSUPPORTMODIFY = "InvalidParameterValue.AuditTrackNameNotSupportModify" - // 云审计目前不支持输入的cmq地域 + // 操作审计目前不支持输入的cmq地域 INVALIDPARAMETERVALUE_CMQREGIONERROR = "InvalidParameterValue.CmqRegionError" // 输入的cos存储桶名称不符合规范 INVALIDPARAMETERVALUE_COSNAMEERROR = "InvalidParameterValue.CosNameError" - // 云审计目前不支持输入的cos地域 + // 操作审计目前不支持输入的cos地域 INVALIDPARAMETERVALUE_COSREGIONERROR = "InvalidParameterValue.CosRegionError" - // IsCreateNewBucket的有效取值范围是0和1,0代表不创建新的存储桶,1代表创建新的存储桶。 - INVALIDPARAMETERVALUE_ISCREATENEWBUCKETERROR = "InvalidParameterValue.IsCreateNewBucketError" - - // IsCreateNewQueue的有效取值范围是0和1,0代表不新创建,1代表新创建。 - INVALIDPARAMETERVALUE_ISCREATENEWQUEUEERROR = "InvalidParameterValue.IsCreateNewQueueError" - - // IsEnableCmqNotify的有效取值范围是0和1,0代表不开启投递cmq,1代表开启cmq投递。 - INVALIDPARAMETERVALUE_ISENABLECMQNOTIFYERROR = "InvalidParameterValue.IsEnableCmqNotifyError" - - // 云审计暂不支持该地域的KMS + // 操作审计暂不支持该地域的KMS INVALIDPARAMETERVALUE_KMSREGIONERROR = "InvalidParameterValue.KmsRegionError" // 日志前缀格式错误 @@ -137,27 +116,9 @@ const ( // 检索支持的有效时间范围是7天 LIMITEXCEEDED_OVERTIME = "LimitExceeded.OverTime" - // 缺少跟踪集名称 - MISSINGPARAMETER_MISSAUDITNAME = "MissingParameter.MissAuditName" - - // 缺少cos存储桶参数 - MISSINGPARAMETER_MISSCOSBUCKETNAME = "MissingParameter.MissCosBucketName" - - // 缺少cos地域参数 - MISSINGPARAMETER_MISSCOSREGION = "MissingParameter.MissCosRegion" - // IsEnableCmqNotify输入1的话,IsCreateNewQueue、CmqQueueName和CmqRegion都是必须参数。 MISSINGPARAMETER_CMQ = "MissingParameter.cmq" - // 已经存在相同名称的跟踪集 - RESOURCEINUSE_ALREADYEXISTSSAMEAUDIT = "ResourceInUse.AlreadyExistsSameAudit" - - // 已经存在相同cmq投递配置的跟踪集 - RESOURCEINUSE_ALREADYEXISTSSAMEAUDITCMQCONFIG = "ResourceInUse.AlreadyExistsSameAuditCmqConfig" - - // 已经存在相同cos投递配置的跟踪集 - RESOURCEINUSE_ALREADYEXISTSSAMEAUDITCOSCONFIG = "ResourceInUse.AlreadyExistsSameAuditCosConfig" - // cos存储桶已经存在 RESOURCEINUSE_COSBUCKETEXISTS = "ResourceInUse.CosBucketExists" @@ -167,6 +128,9 @@ const ( // 跟踪集不存在 RESOURCENOTFOUND_AUDITNOTEXIST = "ResourceNotFound.AuditNotExist" + // cos桶不存在。 + RESOURCENOTFOUND_COSNOTEXIST = "ResourceNotFound.CosNotExist" + // 角色不存在。 RESOURCENOTFOUND_ROLENOTEXIST = "ResourceNotFound.RoleNotExist" ) diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/models.go index af2e477b9a..ffa72b4424 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319/models.go @@ -15,246 +15,105 @@ package v20190319 import ( - "encoding/json" tcerr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/json" ) type AttributeKeyDetail struct { // 输入框类型 - LabelType *string `json:"LabelType,omitempty" name:"LabelType"` + LabelType *string `json:"LabelType,omitnil,omitempty" name:"LabelType"` // 初始化展示 - Starter *string `json:"Starter,omitempty" name:"Starter"` + Starter *string `json:"Starter,omitnil,omitempty" name:"Starter"` // 展示排序 - Order *int64 `json:"Order,omitempty" name:"Order"` + Order *int64 `json:"Order,omitnil,omitempty" name:"Order"` // AttributeKey值 - Value *string `json:"Value,omitempty" name:"Value"` + Value *string `json:"Value,omitnil,omitempty" name:"Value"` // 中文标签 - Label *string `json:"Label,omitempty" name:"Label"` + Label *string `json:"Label,omitnil,omitempty" name:"Label"` } type AuditSummary struct { // 跟踪集状态,1:开启,0:关闭 - AuditStatus *int64 `json:"AuditStatus,omitempty" name:"AuditStatus"` + AuditStatus *int64 `json:"AuditStatus,omitnil,omitempty" name:"AuditStatus"` // COS存储桶名称 - CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"` + CosBucketName *string `json:"CosBucketName,omitnil,omitempty" name:"CosBucketName"` // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` // 日志前缀 - LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"` + LogFilePrefix *string `json:"LogFilePrefix,omitnil,omitempty" name:"LogFilePrefix"` } type CmqRegionInfo struct { // 地域描述 - CmqRegionName *string `json:"CmqRegionName,omitempty" name:"CmqRegionName"` + CmqRegionName *string `json:"CmqRegionName,omitnil,omitempty" name:"CmqRegionName"` // cmq地域 - CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"` + CmqRegion *string `json:"CmqRegion,omitnil,omitempty" name:"CmqRegion"` } type CosRegionInfo struct { // cos地域 - CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"` + CosRegion *string `json:"CosRegion,omitnil,omitempty" name:"CosRegion"` // 地域描述 - CosRegionName *string `json:"CosRegionName,omitempty" name:"CosRegionName"` -} - -// Predefined struct for user -type CreateAuditRequestParams struct { - // 是否开启cmq消息通知。1:是,0:否。目前仅支持cmq的队列服务。如果开启cmq消息通知服务,云审计会将您的日志内容实时投递到您指定地域的指定队列中。 - IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitempty" name:"IsEnableCmqNotify"` - - // 管理事件的读写属性。1:只读,2:只写,3:全部。 - ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitempty" name:"ReadWriteAttribute"` - - // 跟踪集名称。3-128字符,只能包含 ASCII 编码字母 a-z,A-Z,数字 0-9,下划线 _。 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` - - // cos地域。目前支持的地域可以使用ListCosEnableRegion来获取。 - CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"` - - // 是否创建新的cos存储桶。1:是,0:否。 - IsCreateNewBucket *int64 `json:"IsCreateNewBucket,omitempty" name:"IsCreateNewBucket"` - - // cos的存储桶名称。仅支持小写英文字母和数字即[a-z,0-9]、中划线“-”及其组合。用户自定义的字符串支持1 - 40个字符。存储桶命名不能以“-”开头或结尾。如果不是新创建的存储桶,云审计不会去校验该存储桶是否真的存在,请谨慎填写,避免日志投递不成功,导致您的数据丢失。 - CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"` - - // CMK的全局唯一标识符,如果不是新创建的kms,该值是必填值。可以通过ListKeyAliasByRegion来获取。云审计不会校验KeyId的合法性,请您谨慎填写,避免给您的数据造成损失。 - KeyId *string `json:"KeyId,omitempty" name:"KeyId"` - - // 队列名称。队列名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。如果IsEnableCmqNotify值是1的话,此值属于必填字段。如果不是新创建的队列,云审计不会去校验该队列是否真的存在,请谨慎填写,避免日志通知不成功,导致您的数据丢失。 - CmqQueueName *string `json:"CmqQueueName,omitempty" name:"CmqQueueName"` - - // kms地域。目前支持的地域可以使用ListKmsEnableRegion来获取。必须要和cos的地域保持一致。 - KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"` - - // 是否开启kms加密。1:是,0:否。如果开启KMS加密,数据在投递到cos时,会将数据加密。 - IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitempty" name:"IsEnableKmsEncry"` - - // 队列所在的地域。可以通过ListCmqEnableRegion获取支持的cmq地域。如果IsEnableCmqNotify值是1的话,此值属于必填字段。 - CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"` - - // 日志文件前缀。3-40个字符,只能包含 ASCII 编码字母 a-z,A-Z,数字 0-9。可以不填,默认以账号ID作为日志前缀。 - LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"` - - // 是否创建新的队列。1:是,0:否。如果IsEnableCmqNotify值是1的话,此值属于必填字段。 - IsCreateNewQueue *int64 `json:"IsCreateNewQueue,omitempty" name:"IsCreateNewQueue"` -} - -type CreateAuditRequest struct { - *tchttp.BaseRequest - - // 是否开启cmq消息通知。1:是,0:否。目前仅支持cmq的队列服务。如果开启cmq消息通知服务,云审计会将您的日志内容实时投递到您指定地域的指定队列中。 - IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitempty" name:"IsEnableCmqNotify"` - - // 管理事件的读写属性。1:只读,2:只写,3:全部。 - ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitempty" name:"ReadWriteAttribute"` - - // 跟踪集名称。3-128字符,只能包含 ASCII 编码字母 a-z,A-Z,数字 0-9,下划线 _。 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` - - // cos地域。目前支持的地域可以使用ListCosEnableRegion来获取。 - CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"` - - // 是否创建新的cos存储桶。1:是,0:否。 - IsCreateNewBucket *int64 `json:"IsCreateNewBucket,omitempty" name:"IsCreateNewBucket"` - - // cos的存储桶名称。仅支持小写英文字母和数字即[a-z,0-9]、中划线“-”及其组合。用户自定义的字符串支持1 - 40个字符。存储桶命名不能以“-”开头或结尾。如果不是新创建的存储桶,云审计不会去校验该存储桶是否真的存在,请谨慎填写,避免日志投递不成功,导致您的数据丢失。 - CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"` - - // CMK的全局唯一标识符,如果不是新创建的kms,该值是必填值。可以通过ListKeyAliasByRegion来获取。云审计不会校验KeyId的合法性,请您谨慎填写,避免给您的数据造成损失。 - KeyId *string `json:"KeyId,omitempty" name:"KeyId"` - - // 队列名称。队列名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。如果IsEnableCmqNotify值是1的话,此值属于必填字段。如果不是新创建的队列,云审计不会去校验该队列是否真的存在,请谨慎填写,避免日志通知不成功,导致您的数据丢失。 - CmqQueueName *string `json:"CmqQueueName,omitempty" name:"CmqQueueName"` - - // kms地域。目前支持的地域可以使用ListKmsEnableRegion来获取。必须要和cos的地域保持一致。 - KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"` - - // 是否开启kms加密。1:是,0:否。如果开启KMS加密,数据在投递到cos时,会将数据加密。 - IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitempty" name:"IsEnableKmsEncry"` - - // 队列所在的地域。可以通过ListCmqEnableRegion获取支持的cmq地域。如果IsEnableCmqNotify值是1的话,此值属于必填字段。 - CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"` - - // 日志文件前缀。3-40个字符,只能包含 ASCII 编码字母 a-z,A-Z,数字 0-9。可以不填,默认以账号ID作为日志前缀。 - LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"` - - // 是否创建新的队列。1:是,0:否。如果IsEnableCmqNotify值是1的话,此值属于必填字段。 - IsCreateNewQueue *int64 `json:"IsCreateNewQueue,omitempty" name:"IsCreateNewQueue"` -} - -func (r *CreateAuditRequest) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} - -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *CreateAuditRequest) FromJsonString(s string) error { - f := make(map[string]interface{}) - if err := json.Unmarshal([]byte(s), &f); err != nil { - return err - } - delete(f, "IsEnableCmqNotify") - delete(f, "ReadWriteAttribute") - delete(f, "AuditName") - delete(f, "CosRegion") - delete(f, "IsCreateNewBucket") - delete(f, "CosBucketName") - delete(f, "KeyId") - delete(f, "CmqQueueName") - delete(f, "KmsRegion") - delete(f, "IsEnableKmsEncry") - delete(f, "CmqRegion") - delete(f, "LogFilePrefix") - delete(f, "IsCreateNewQueue") - if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAuditRequest has unknown keys!", "") - } - return json.Unmarshal([]byte(s), &r) -} - -// Predefined struct for user -type CreateAuditResponseParams struct { - // 是否创建成功。 - IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"` - - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` -} - -type CreateAuditResponse struct { - *tchttp.BaseResponse - Response *CreateAuditResponseParams `json:"Response"` -} - -func (r *CreateAuditResponse) ToJsonString() string { - b, _ := json.Marshal(r) - return string(b) -} - -// FromJsonString It is highly **NOT** recommended to use this function -// because it has no param check, nor strict type check -func (r *CreateAuditResponse) FromJsonString(s string) error { - return json.Unmarshal([]byte(s), &r) + CosRegionName *string `json:"CosRegionName,omitnil,omitempty" name:"CosRegionName"` } // Predefined struct for user type CreateAuditTrackRequestParams struct { // 跟踪集名称,仅支持大小写字母、数字、-以及_的组合,3-48个字符 - Name *string `json:"Name,omitempty" name:"Name"` + Name *string `json:"Name,omitnil,omitempty" name:"Name"` // 跟踪事件类型(读:Read;写:Write;全部:*) - ActionType *string `json:"ActionType,omitempty" name:"ActionType"` + ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"` // 跟踪事件所属产品(支持全部产品或单个产品,如:cos,全部:*) - ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + ResourceType *string `json:"ResourceType,omitnil,omitempty" name:"ResourceType"` // 跟踪集状态(未开启:0;开启:1) - Status *uint64 `json:"Status,omitempty" name:"Status"` + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` // 跟踪事件接口名列表(ResourceType为 * 时,EventNames必须为全部:["*"];指定ResourceType时,支持全部接口:["*"];支持部分接口:["cos", "cls"],接口列表上限10个) - EventNames []*string `json:"EventNames,omitempty" name:"EventNames"` + EventNames []*string `json:"EventNames,omitnil,omitempty" name:"EventNames"` // 数据投递存储(目前支持 cos、cls) - Storage *Storage `json:"Storage,omitempty" name:"Storage"` + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` - // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) - TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitempty" name:"TrackForAllMembers"` + // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) + TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitnil,omitempty" name:"TrackForAllMembers"` } type CreateAuditTrackRequest struct { *tchttp.BaseRequest // 跟踪集名称,仅支持大小写字母、数字、-以及_的组合,3-48个字符 - Name *string `json:"Name,omitempty" name:"Name"` + Name *string `json:"Name,omitnil,omitempty" name:"Name"` // 跟踪事件类型(读:Read;写:Write;全部:*) - ActionType *string `json:"ActionType,omitempty" name:"ActionType"` + ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"` // 跟踪事件所属产品(支持全部产品或单个产品,如:cos,全部:*) - ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + ResourceType *string `json:"ResourceType,omitnil,omitempty" name:"ResourceType"` // 跟踪集状态(未开启:0;开启:1) - Status *uint64 `json:"Status,omitempty" name:"Status"` + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` // 跟踪事件接口名列表(ResourceType为 * 时,EventNames必须为全部:["*"];指定ResourceType时,支持全部接口:["*"];支持部分接口:["cos", "cls"],接口列表上限10个) - EventNames []*string `json:"EventNames,omitempty" name:"EventNames"` + EventNames []*string `json:"EventNames,omitnil,omitempty" name:"EventNames"` // 数据投递存储(目前支持 cos、cls) - Storage *Storage `json:"Storage,omitempty" name:"Storage"` + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` - // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) - TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitempty" name:"TrackForAllMembers"` + // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) + TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitnil,omitempty" name:"TrackForAllMembers"` } func (r *CreateAuditTrackRequest) ToJsonString() string { @@ -285,10 +144,10 @@ func (r *CreateAuditTrackRequest) FromJsonString(s string) error { // Predefined struct for user type CreateAuditTrackResponseParams struct { // 跟踪集 ID - TrackId *uint64 `json:"TrackId,omitempty" name:"TrackId"` + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type CreateAuditTrackResponse struct { @@ -308,73 +167,101 @@ func (r *CreateAuditTrackResponse) FromJsonString(s string) error { } // Predefined struct for user -type DeleteAuditRequestParams struct { - // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` +type CreateEventsAuditTrackRequestParams struct { + // 跟踪集名称,仅支持大小写字母、数字、-以及_的组合,3-48个字符 + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // 跟踪集状态(未开启:0;开启:1) + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` + + // 数据投递存储(目前支持 cos、cls) + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` + + // 数据过滤条件 + Filters *Filter `json:"Filters,omitnil,omitempty" name:"Filters"` + + // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) + TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitnil,omitempty" name:"TrackForAllMembers"` } -type DeleteAuditRequest struct { +type CreateEventsAuditTrackRequest struct { *tchttp.BaseRequest - // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + // 跟踪集名称,仅支持大小写字母、数字、-以及_的组合,3-48个字符 + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // 跟踪集状态(未开启:0;开启:1) + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` + + // 数据投递存储(目前支持 cos、cls) + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` + + // 数据过滤条件 + Filters *Filter `json:"Filters,omitnil,omitempty" name:"Filters"` + + // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) + TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitnil,omitempty" name:"TrackForAllMembers"` } -func (r *DeleteAuditRequest) ToJsonString() string { +func (r *CreateEventsAuditTrackRequest) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DeleteAuditRequest) FromJsonString(s string) error { +func (r *CreateEventsAuditTrackRequest) FromJsonString(s string) error { f := make(map[string]interface{}) if err := json.Unmarshal([]byte(s), &f); err != nil { return err } - delete(f, "AuditName") + delete(f, "Name") + delete(f, "Status") + delete(f, "Storage") + delete(f, "Filters") + delete(f, "TrackForAllMembers") if len(f) > 0 { - return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAuditRequest has unknown keys!", "") + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateEventsAuditTrackRequest has unknown keys!", "") } return json.Unmarshal([]byte(s), &r) } // Predefined struct for user -type DeleteAuditResponseParams struct { - // 是否删除成功 - IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"` +type CreateEventsAuditTrackResponseParams struct { + // 跟踪集 ID + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } -type DeleteAuditResponse struct { +type CreateEventsAuditTrackResponse struct { *tchttp.BaseResponse - Response *DeleteAuditResponseParams `json:"Response"` + Response *CreateEventsAuditTrackResponseParams `json:"Response"` } -func (r *DeleteAuditResponse) ToJsonString() string { +func (r *CreateEventsAuditTrackResponse) ToJsonString() string { b, _ := json.Marshal(r) return string(b) } // FromJsonString It is highly **NOT** recommended to use this function // because it has no param check, nor strict type check -func (r *DeleteAuditResponse) FromJsonString(s string) error { +func (r *CreateEventsAuditTrackResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } // Predefined struct for user type DeleteAuditTrackRequestParams struct { // 跟踪集 ID - TrackId *uint64 `json:"TrackId,omitempty" name:"TrackId"` + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` } type DeleteAuditTrackRequest struct { *tchttp.BaseRequest // 跟踪集 ID - TrackId *uint64 `json:"TrackId,omitempty" name:"TrackId"` + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` } func (r *DeleteAuditTrackRequest) ToJsonString() string { @@ -398,8 +285,8 @@ func (r *DeleteAuditTrackRequest) FromJsonString(s string) error { // Predefined struct for user type DeleteAuditTrackResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DeleteAuditTrackResponse struct { @@ -421,14 +308,14 @@ func (r *DeleteAuditTrackResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeAuditRequestParams struct { // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` } type DescribeAuditRequest struct { *tchttp.BaseRequest // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` } func (r *DescribeAuditRequest) ToJsonString() string { @@ -453,46 +340,46 @@ func (r *DescribeAuditRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeAuditResponseParams struct { // 是否开启cmq消息通知。1:是,0:否。 - IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitempty" name:"IsEnableCmqNotify"` + IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitnil,omitempty" name:"IsEnableCmqNotify"` // 管理事件读写属性,1:只读,2:只写,3:全部 - ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitempty" name:"ReadWriteAttribute"` + ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitnil,omitempty" name:"ReadWriteAttribute"` // CMK的全局唯一标识符。 - KeyId *string `json:"KeyId,omitempty" name:"KeyId"` + KeyId *string `json:"KeyId,omitnil,omitempty" name:"KeyId"` // 跟踪集状态,1:开启,0:停止。 - AuditStatus *int64 `json:"AuditStatus,omitempty" name:"AuditStatus"` + AuditStatus *int64 `json:"AuditStatus,omitnil,omitempty" name:"AuditStatus"` // 跟踪集名称。 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` // cos存储桶所在地域。 - CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"` + CosRegion *string `json:"CosRegion,omitnil,omitempty" name:"CosRegion"` // 队列名称。 - CmqQueueName *string `json:"CmqQueueName,omitempty" name:"CmqQueueName"` + CmqQueueName *string `json:"CmqQueueName,omitnil,omitempty" name:"CmqQueueName"` // CMK别名。 - KmsAlias *string `json:"KmsAlias,omitempty" name:"KmsAlias"` + KmsAlias *string `json:"KmsAlias,omitnil,omitempty" name:"KmsAlias"` // kms地域。 - KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"` + KmsRegion *string `json:"KmsRegion,omitnil,omitempty" name:"KmsRegion"` // 是否开启kms加密。1:是,0:否。如果开启KMS加密,数据在投递到cos时,会将数据加密。 - IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitempty" name:"IsEnableKmsEncry"` + IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitnil,omitempty" name:"IsEnableKmsEncry"` // cos存储桶名称。 - CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"` + CosBucketName *string `json:"CosBucketName,omitnil,omitempty" name:"CosBucketName"` // 队列所在地域。 - CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"` + CmqRegion *string `json:"CmqRegion,omitnil,omitempty" name:"CmqRegion"` // 日志前缀。 - LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"` + LogFilePrefix *string `json:"LogFilePrefix,omitnil,omitempty" name:"LogFilePrefix"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribeAuditResponse struct { @@ -514,14 +401,14 @@ func (r *DescribeAuditResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeAuditTrackRequestParams struct { // 跟踪集 ID - TrackId *uint64 `json:"TrackId,omitempty" name:"TrackId"` + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` } type DescribeAuditTrackRequest struct { *tchttp.BaseRequest // 跟踪集 ID - TrackId *uint64 `json:"TrackId,omitempty" name:"TrackId"` + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` } func (r *DescribeAuditTrackRequest) ToJsonString() string { @@ -546,32 +433,36 @@ func (r *DescribeAuditTrackRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeAuditTrackResponseParams struct { // 跟踪集名称 - Name *string `json:"Name,omitempty" name:"Name"` + Name *string `json:"Name,omitnil,omitempty" name:"Name"` // 跟踪事件类型(读:Read;写:Write;全部:*) - ActionType *string `json:"ActionType,omitempty" name:"ActionType"` + ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"` // 跟踪事件所属产品(如:cos,全部:*) - ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + ResourceType *string `json:"ResourceType,omitnil,omitempty" name:"ResourceType"` // 跟踪集状态(未开启:0;开启:1) - Status *uint64 `json:"Status,omitempty" name:"Status"` + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` // 跟踪事件接口名列表(全部:[*]) - EventNames []*string `json:"EventNames,omitempty" name:"EventNames"` + EventNames []*string `json:"EventNames,omitnil,omitempty" name:"EventNames"` // 数据投递存储(目前支持 cos、cls) - Storage *Storage `json:"Storage,omitempty" name:"Storage"` + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` // 跟踪集创建时间 - CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` + CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号 // 注意:此字段可能返回 null,表示取不到有效值。 - TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitempty" name:"TrackForAllMembers"` + TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitnil,omitempty" name:"TrackForAllMembers"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 数据投递过滤条件 + // 注意:此字段可能返回 null,表示取不到有效值。 + Filters *Filter `json:"Filters,omitnil,omitempty" name:"Filters"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribeAuditTrackResponse struct { @@ -593,20 +484,20 @@ func (r *DescribeAuditTrackResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeAuditTracksRequestParams struct { // 页码 - PageNumber *uint64 `json:"PageNumber,omitempty" name:"PageNumber"` + PageNumber *uint64 `json:"PageNumber,omitnil,omitempty" name:"PageNumber"` // 每页数目 - PageSize *uint64 `json:"PageSize,omitempty" name:"PageSize"` + PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` } type DescribeAuditTracksRequest struct { *tchttp.BaseRequest // 页码 - PageNumber *uint64 `json:"PageNumber,omitempty" name:"PageNumber"` + PageNumber *uint64 `json:"PageNumber,omitnil,omitempty" name:"PageNumber"` // 每页数目 - PageSize *uint64 `json:"PageSize,omitempty" name:"PageSize"` + PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` } func (r *DescribeAuditTracksRequest) ToJsonString() string { @@ -632,13 +523,13 @@ func (r *DescribeAuditTracksRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeAuditTracksResponseParams struct { // 跟踪集列表 - Tracks []*Tracks `json:"Tracks,omitempty" name:"Tracks"` + Tracks []*Tracks `json:"Tracks,omitnil,omitempty" name:"Tracks"` // 总数目 - TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribeAuditTracksResponse struct { @@ -660,44 +551,44 @@ func (r *DescribeAuditTracksResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeEventsRequestParams struct { // 起始时间戳(单位秒,不超过当前时间 90 天) - StartTime *uint64 `json:"StartTime,omitempty" name:"StartTime"` + StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"` // 结束时间戳(单位秒,查询时间跨度小于 30 天) - EndTime *uint64 `json:"EndTime,omitempty" name:"EndTime"` + EndTime *uint64 `json:"EndTime,omitnil,omitempty" name:"EndTime"` // 查看更多日志的凭证 - NextToken *uint64 `json:"NextToken,omitempty" name:"NextToken"` + NextToken *uint64 `json:"NextToken,omitnil,omitempty" name:"NextToken"` // 返回日志的最大条数(最大 50 条) - MaxResults *uint64 `json:"MaxResults,omitempty" name:"MaxResults"` + MaxResults *uint64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"` - // 检索条件(目前支持 RequestId:请求 ID、EventName:事件名称、ActionType:操作类型(Write:写;Read:读)、PrincipalId:子账号、ResourceType:资源类型、ResourceName:资源名称、AccessKeyId:密钥 ID、SensitiveAction:是否敏感操作、ApiErrorCode:API 错误码、CamErrorCode:CAM 错误码、Tags:标签(AttributeValue格式:[{"key":"*","value":"*"}])) - LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitempty" name:"LookupAttributes"` + // 检索条件(目前支持 RequestId:请求 ID、EventName:事件名称、ActionType:操作类型(Write:写;Read:读)、PrincipalId:子账号、ResourceType:资源类型、ResourceId:资源Id、ResourceName:资源名称、AccessKeyId:密钥 ID、SensitiveAction:是否敏感操作、ApiErrorCode:API 错误码、CamErrorCode:CAM 错误码、Tags:标签(AttributeValue格式:[{"key":"*","value":"*"}])备注:检索的各个条件间是与的关系,EventName传多个值内部是或的关系) + LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitnil,omitempty" name:"LookupAttributes"` // 是否返回 IP 归属地(1 返回,0 不返回) - IsReturnLocation *uint64 `json:"IsReturnLocation,omitempty" name:"IsReturnLocation"` + IsReturnLocation *uint64 `json:"IsReturnLocation,omitnil,omitempty" name:"IsReturnLocation"` } type DescribeEventsRequest struct { *tchttp.BaseRequest // 起始时间戳(单位秒,不超过当前时间 90 天) - StartTime *uint64 `json:"StartTime,omitempty" name:"StartTime"` + StartTime *uint64 `json:"StartTime,omitnil,omitempty" name:"StartTime"` // 结束时间戳(单位秒,查询时间跨度小于 30 天) - EndTime *uint64 `json:"EndTime,omitempty" name:"EndTime"` + EndTime *uint64 `json:"EndTime,omitnil,omitempty" name:"EndTime"` // 查看更多日志的凭证 - NextToken *uint64 `json:"NextToken,omitempty" name:"NextToken"` + NextToken *uint64 `json:"NextToken,omitnil,omitempty" name:"NextToken"` // 返回日志的最大条数(最大 50 条) - MaxResults *uint64 `json:"MaxResults,omitempty" name:"MaxResults"` + MaxResults *uint64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"` - // 检索条件(目前支持 RequestId:请求 ID、EventName:事件名称、ActionType:操作类型(Write:写;Read:读)、PrincipalId:子账号、ResourceType:资源类型、ResourceName:资源名称、AccessKeyId:密钥 ID、SensitiveAction:是否敏感操作、ApiErrorCode:API 错误码、CamErrorCode:CAM 错误码、Tags:标签(AttributeValue格式:[{"key":"*","value":"*"}])) - LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitempty" name:"LookupAttributes"` + // 检索条件(目前支持 RequestId:请求 ID、EventName:事件名称、ActionType:操作类型(Write:写;Read:读)、PrincipalId:子账号、ResourceType:资源类型、ResourceId:资源Id、ResourceName:资源名称、AccessKeyId:密钥 ID、SensitiveAction:是否敏感操作、ApiErrorCode:API 错误码、CamErrorCode:CAM 错误码、Tags:标签(AttributeValue格式:[{"key":"*","value":"*"}])备注:检索的各个条件间是与的关系,EventName传多个值内部是或的关系) + LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitnil,omitempty" name:"LookupAttributes"` // 是否返回 IP 归属地(1 返回,0 不返回) - IsReturnLocation *uint64 `json:"IsReturnLocation,omitempty" name:"IsReturnLocation"` + IsReturnLocation *uint64 `json:"IsReturnLocation,omitnil,omitempty" name:"IsReturnLocation"` } func (r *DescribeEventsRequest) ToJsonString() string { @@ -727,21 +618,21 @@ func (r *DescribeEventsRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeEventsResponseParams struct { // 日志集合是否结束。true表示结束,无需进行翻页。 - ListOver *bool `json:"ListOver,omitempty" name:"ListOver"` + ListOver *bool `json:"ListOver,omitnil,omitempty" name:"ListOver"` // 查看更多日志的凭证 - NextToken *uint64 `json:"NextToken,omitempty" name:"NextToken"` + NextToken *uint64 `json:"NextToken,omitnil,omitempty" name:"NextToken"` // 日志集合 // 注意:此字段可能返回 null,表示取不到有效值。 - Events []*Event `json:"Events,omitempty" name:"Events"` + Events []*Event `json:"Events,omitnil,omitempty" name:"Events"` // 此字段已经废弃。翻页请使用ListOver配合NextToken,在ListOver为false进行下一页数据读取。 // 注意:此字段可能返回 null,表示取不到有效值。 - TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribeEventsResponse struct { @@ -762,70 +653,76 @@ func (r *DescribeEventsResponse) FromJsonString(s string) error { type Event struct { // 日志ID - EventId *string `json:"EventId,omitempty" name:"EventId"` + EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"` // 用户名 - Username *string `json:"Username,omitempty" name:"Username"` + Username *string `json:"Username,omitnil,omitempty" name:"Username"` // 事件时间 - EventTime *string `json:"EventTime,omitempty" name:"EventTime"` + EventTime *string `json:"EventTime,omitnil,omitempty" name:"EventTime"` // 日志详情 - CloudAuditEvent *string `json:"CloudAuditEvent,omitempty" name:"CloudAuditEvent"` + CloudAuditEvent *string `json:"CloudAuditEvent,omitnil,omitempty" name:"CloudAuditEvent"` // 资源类型中文描述(此字段请按需使用,如果您是其他语言使用者,可以忽略该字段描述) - ResourceTypeCn *string `json:"ResourceTypeCn,omitempty" name:"ResourceTypeCn"` + ResourceTypeCn *string `json:"ResourceTypeCn,omitnil,omitempty" name:"ResourceTypeCn"` // 鉴权错误码 - ErrorCode *int64 `json:"ErrorCode,omitempty" name:"ErrorCode"` + ErrorCode *int64 `json:"ErrorCode,omitnil,omitempty" name:"ErrorCode"` // 事件名称 - EventName *string `json:"EventName,omitempty" name:"EventName"` + EventName *string `json:"EventName,omitnil,omitempty" name:"EventName"` // 证书ID // 注意:此字段可能返回 null,表示取不到有效值。 - SecretId *string `json:"SecretId,omitempty" name:"SecretId"` + SecretId *string `json:"SecretId,omitnil,omitempty" name:"SecretId"` // 请求来源 - EventSource *string `json:"EventSource,omitempty" name:"EventSource"` + EventSource *string `json:"EventSource,omitnil,omitempty" name:"EventSource"` // 请求ID - RequestID *string `json:"RequestID,omitempty" name:"RequestID"` + RequestID *string `json:"RequestID,omitnil,omitempty" name:"RequestID"` // 资源地域 - ResourceRegion *string `json:"ResourceRegion,omitempty" name:"ResourceRegion"` + ResourceRegion *string `json:"ResourceRegion,omitnil,omitempty" name:"ResourceRegion"` // 主账号ID - AccountID *int64 `json:"AccountID,omitempty" name:"AccountID"` + AccountID *int64 `json:"AccountID,omitnil,omitempty" name:"AccountID"` // 源IP // 注意:此字段可能返回 null,表示取不到有效值。 - SourceIPAddress *string `json:"SourceIPAddress,omitempty" name:"SourceIPAddress"` + SourceIPAddress *string `json:"SourceIPAddress,omitnil,omitempty" name:"SourceIPAddress"` // 事件名称中文描述(此字段请按需使用,如果您是其他语言使用者,可以忽略该字段描述) - EventNameCn *string `json:"EventNameCn,omitempty" name:"EventNameCn"` + EventNameCn *string `json:"EventNameCn,omitnil,omitempty" name:"EventNameCn"` // 资源对 - Resources *Resource `json:"Resources,omitempty" name:"Resources"` + Resources *Resource `json:"Resources,omitnil,omitempty" name:"Resources"` // 事件地域 - EventRegion *string `json:"EventRegion,omitempty" name:"EventRegion"` + EventRegion *string `json:"EventRegion,omitnil,omitempty" name:"EventRegion"` // IP 归属地 - Location *string `json:"Location,omitempty" name:"Location"` + Location *string `json:"Location,omitnil,omitempty" name:"Location"` +} + +type Filter struct { + // 资源筛选条件 + // 注意:此字段可能返回 null,表示取不到有效值。 + ResourceFields []*ResourceField `json:"ResourceFields,omitnil,omitempty" name:"ResourceFields"` } // Predefined struct for user type GetAttributeKeyRequestParams struct { // 网站类型,取值范围是zh和en。如果不传值默认zh - WebsiteType *string `json:"WebsiteType,omitempty" name:"WebsiteType"` + WebsiteType *string `json:"WebsiteType,omitnil,omitempty" name:"WebsiteType"` } type GetAttributeKeyRequest struct { *tchttp.BaseRequest // 网站类型,取值范围是zh和en。如果不传值默认zh - WebsiteType *string `json:"WebsiteType,omitempty" name:"WebsiteType"` + WebsiteType *string `json:"WebsiteType,omitnil,omitempty" name:"WebsiteType"` } func (r *GetAttributeKeyRequest) ToJsonString() string { @@ -850,10 +747,10 @@ func (r *GetAttributeKeyRequest) FromJsonString(s string) error { // Predefined struct for user type GetAttributeKeyResponseParams struct { // AttributeKey的有效取值范围 - AttributeKeyDetails []*AttributeKeyDetail `json:"AttributeKeyDetails,omitempty" name:"AttributeKeyDetails"` + AttributeKeyDetails []*AttributeKeyDetail `json:"AttributeKeyDetails,omitnil,omitempty" name:"AttributeKeyDetails"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type GetAttributeKeyResponse struct { @@ -904,10 +801,10 @@ func (r *InquireAuditCreditRequest) FromJsonString(s string) error { // Predefined struct for user type InquireAuditCreditResponseParams struct { // 可创建跟踪集的数量 - AuditAmount *int64 `json:"AuditAmount,omitempty" name:"AuditAmount"` + AuditAmount *int64 `json:"AuditAmount,omitnil,omitempty" name:"AuditAmount"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type InquireAuditCreditResponse struct { @@ -928,10 +825,10 @@ func (r *InquireAuditCreditResponse) FromJsonString(s string) error { type KeyMetadata struct { // 作为密钥更容易辨识,更容易被人看懂的别名 - Alias *string `json:"Alias,omitempty" name:"Alias"` + Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"` // CMK的全局唯一标识 - KeyId *string `json:"KeyId,omitempty" name:"KeyId"` + KeyId *string `json:"KeyId,omitnil,omitempty" name:"KeyId"` } // Predefined struct for user @@ -967,10 +864,10 @@ func (r *ListAuditsRequest) FromJsonString(s string) error { type ListAuditsResponseParams struct { // 查询跟踪集概要集合 // 注意:此字段可能返回 null,表示取不到有效值。 - AuditSummarys []*AuditSummary `json:"AuditSummarys,omitempty" name:"AuditSummarys"` + AuditSummarys []*AuditSummary `json:"AuditSummarys,omitnil,omitempty" name:"AuditSummarys"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type ListAuditsResponse struct { @@ -992,14 +889,14 @@ func (r *ListAuditsResponse) FromJsonString(s string) error { // Predefined struct for user type ListCmqEnableRegionRequestParams struct { // 站点类型。zh表示中国区,en表示国际区。默认中国区。 - WebsiteType *string `json:"WebsiteType,omitempty" name:"WebsiteType"` + WebsiteType *string `json:"WebsiteType,omitnil,omitempty" name:"WebsiteType"` } type ListCmqEnableRegionRequest struct { *tchttp.BaseRequest // 站点类型。zh表示中国区,en表示国际区。默认中国区。 - WebsiteType *string `json:"WebsiteType,omitempty" name:"WebsiteType"` + WebsiteType *string `json:"WebsiteType,omitnil,omitempty" name:"WebsiteType"` } func (r *ListCmqEnableRegionRequest) ToJsonString() string { @@ -1024,10 +921,10 @@ func (r *ListCmqEnableRegionRequest) FromJsonString(s string) error { // Predefined struct for user type ListCmqEnableRegionResponseParams struct { // 云审计支持的cmq的可用区 - EnableRegions []*CmqRegionInfo `json:"EnableRegions,omitempty" name:"EnableRegions"` + EnableRegions []*CmqRegionInfo `json:"EnableRegions,omitnil,omitempty" name:"EnableRegions"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type ListCmqEnableRegionResponse struct { @@ -1049,14 +946,14 @@ func (r *ListCmqEnableRegionResponse) FromJsonString(s string) error { // Predefined struct for user type ListCosEnableRegionRequestParams struct { // 站点类型。zh表示中国区,en表示国际区。默认中国区。 - WebsiteType *string `json:"WebsiteType,omitempty" name:"WebsiteType"` + WebsiteType *string `json:"WebsiteType,omitnil,omitempty" name:"WebsiteType"` } type ListCosEnableRegionRequest struct { *tchttp.BaseRequest // 站点类型。zh表示中国区,en表示国际区。默认中国区。 - WebsiteType *string `json:"WebsiteType,omitempty" name:"WebsiteType"` + WebsiteType *string `json:"WebsiteType,omitnil,omitempty" name:"WebsiteType"` } func (r *ListCosEnableRegionRequest) ToJsonString() string { @@ -1081,10 +978,10 @@ func (r *ListCosEnableRegionRequest) FromJsonString(s string) error { // Predefined struct for user type ListCosEnableRegionResponseParams struct { // 云审计支持的cos可用区 - EnableRegions []*CosRegionInfo `json:"EnableRegions,omitempty" name:"EnableRegions"` + EnableRegions []*CosRegionInfo `json:"EnableRegions,omitnil,omitempty" name:"EnableRegions"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type ListCosEnableRegionResponse struct { @@ -1106,26 +1003,26 @@ func (r *ListCosEnableRegionResponse) FromJsonString(s string) error { // Predefined struct for user type ListKeyAliasByRegionRequestParams struct { // Kms地域 - KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"` + KmsRegion *string `json:"KmsRegion,omitnil,omitempty" name:"KmsRegion"` // 含义跟 SQL 查询的 Limit 一致,表示本次获最多获取 Limit 个元素。缺省值为10,最大值为200 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` } type ListKeyAliasByRegionRequest struct { *tchttp.BaseRequest // Kms地域 - KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"` + KmsRegion *string `json:"KmsRegion,omitnil,omitempty" name:"KmsRegion"` // 含义跟 SQL 查询的 Limit 一致,表示本次获最多获取 Limit 个元素。缺省值为10,最大值为200 - Limit *int64 `json:"Limit,omitempty" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0 - Offset *int64 `json:"Offset,omitempty" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` } func (r *ListKeyAliasByRegionRequest) ToJsonString() string { @@ -1152,13 +1049,13 @@ func (r *ListKeyAliasByRegionRequest) FromJsonString(s string) error { // Predefined struct for user type ListKeyAliasByRegionResponseParams struct { // CMK的总数量 - TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // 密钥别名 - KeyMetadatas []*KeyMetadata `json:"KeyMetadatas,omitempty" name:"KeyMetadatas"` + KeyMetadatas []*KeyMetadata `json:"KeyMetadatas,omitnil,omitempty" name:"KeyMetadatas"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type ListKeyAliasByRegionResponse struct { @@ -1180,44 +1077,44 @@ func (r *ListKeyAliasByRegionResponse) FromJsonString(s string) error { // Predefined struct for user type LookUpEventsRequestParams struct { // 开始时间 - StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` + StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"` // 结束时间 - EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` + EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"` // 检索条件 - LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitempty" name:"LookupAttributes"` + LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitnil,omitempty" name:"LookupAttributes"` // 查看更多日志的凭证 - NextToken *string `json:"NextToken,omitempty" name:"NextToken"` + NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"` // 返回日志的最大条数 - MaxResults *int64 `json:"MaxResults,omitempty" name:"MaxResults"` + MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"` // 云审计模式,有效值:standard | quick,其中standard是标准模式,quick是极速模式。默认为标准模式 - Mode *string `json:"Mode,omitempty" name:"Mode"` + Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"` } type LookUpEventsRequest struct { *tchttp.BaseRequest // 开始时间 - StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"` + StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"` // 结束时间 - EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"` + EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"` // 检索条件 - LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitempty" name:"LookupAttributes"` + LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitnil,omitempty" name:"LookupAttributes"` // 查看更多日志的凭证 - NextToken *string `json:"NextToken,omitempty" name:"NextToken"` + NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"` // 返回日志的最大条数 - MaxResults *int64 `json:"MaxResults,omitempty" name:"MaxResults"` + MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"` // 云审计模式,有效值:standard | quick,其中standard是标准模式,quick是极速模式。默认为标准模式 - Mode *string `json:"Mode,omitempty" name:"Mode"` + Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"` } func (r *LookUpEventsRequest) ToJsonString() string { @@ -1248,18 +1145,18 @@ func (r *LookUpEventsRequest) FromJsonString(s string) error { type LookUpEventsResponseParams struct { // 查看更多日志的凭证 // 注意:此字段可能返回 null,表示取不到有效值。 - NextToken *string `json:"NextToken,omitempty" name:"NextToken"` + NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"` // 日志集合 // 注意:此字段可能返回 null,表示取不到有效值。 - Events []*Event `json:"Events,omitempty" name:"Events"` + Events []*Event `json:"Events,omitnil,omitempty" name:"Events"` // 日志集合是否结束 // 注意:此字段可能返回 null,表示取不到有效值。 - ListOver *bool `json:"ListOver,omitempty" name:"ListOver"` + ListOver *bool `json:"ListOver,omitnil,omitempty" name:"ListOver"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type LookUpEventsResponse struct { @@ -1280,67 +1177,65 @@ func (r *LookUpEventsResponse) FromJsonString(s string) error { type LookupAttribute struct { // AttributeKey的有效取值范围是:RequestId、EventName、ReadOnly、Username、ResourceType、ResourceName和AccessKeyId,EventId - // 注意:此字段可能返回 null,表示取不到有效值。 - AttributeKey *string `json:"AttributeKey,omitempty" name:"AttributeKey"` + AttributeKey *string `json:"AttributeKey,omitnil,omitempty" name:"AttributeKey"` // AttributeValue的值 - // 注意:此字段可能返回 null,表示取不到有效值。 - AttributeValue *string `json:"AttributeValue,omitempty" name:"AttributeValue"` + AttributeValue *string `json:"AttributeValue,omitnil,omitempty" name:"AttributeValue"` } // Predefined struct for user type ModifyAuditTrackRequestParams struct { // 跟踪集 ID - TrackId *uint64 `json:"TrackId,omitempty" name:"TrackId"` + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` // 跟踪集名称,仅支持大小写字母、数字、-以及_的组合,3-48个字符 - Name *string `json:"Name,omitempty" name:"Name"` + Name *string `json:"Name,omitnil,omitempty" name:"Name"` // 跟踪事件类型(读:Read;写:Write;全部:*) - ActionType *string `json:"ActionType,omitempty" name:"ActionType"` + ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"` // 跟踪事件所属产品(支持全部产品或单个产品,如:cos,全部:*) - ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + ResourceType *string `json:"ResourceType,omitnil,omitempty" name:"ResourceType"` // 跟踪集状态(未开启:0;开启:1) - Status *uint64 `json:"Status,omitempty" name:"Status"` + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` // 跟踪事件接口名列表(ResourceType为 * 时,EventNames必须为全部:["*"];指定ResourceType时,支持全部接口:["*"];支持部分接口:["cos", "cls"],接口列表上限10个) - EventNames []*string `json:"EventNames,omitempty" name:"EventNames"` + EventNames []*string `json:"EventNames,omitnil,omitempty" name:"EventNames"` // 数据投递存储(目前支持 cos、cls) - Storage *Storage `json:"Storage,omitempty" name:"Storage"` + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) - TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitempty" name:"TrackForAllMembers"` + TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitnil,omitempty" name:"TrackForAllMembers"` } type ModifyAuditTrackRequest struct { *tchttp.BaseRequest // 跟踪集 ID - TrackId *uint64 `json:"TrackId,omitempty" name:"TrackId"` + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` // 跟踪集名称,仅支持大小写字母、数字、-以及_的组合,3-48个字符 - Name *string `json:"Name,omitempty" name:"Name"` + Name *string `json:"Name,omitnil,omitempty" name:"Name"` // 跟踪事件类型(读:Read;写:Write;全部:*) - ActionType *string `json:"ActionType,omitempty" name:"ActionType"` + ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"` // 跟踪事件所属产品(支持全部产品或单个产品,如:cos,全部:*) - ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + ResourceType *string `json:"ResourceType,omitnil,omitempty" name:"ResourceType"` // 跟踪集状态(未开启:0;开启:1) - Status *uint64 `json:"Status,omitempty" name:"Status"` + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` // 跟踪事件接口名列表(ResourceType为 * 时,EventNames必须为全部:["*"];指定ResourceType时,支持全部接口:["*"];支持部分接口:["cos", "cls"],接口列表上限10个) - EventNames []*string `json:"EventNames,omitempty" name:"EventNames"` + EventNames []*string `json:"EventNames,omitnil,omitempty" name:"EventNames"` // 数据投递存储(目前支持 cos、cls) - Storage *Storage `json:"Storage,omitempty" name:"Storage"` + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) - TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitempty" name:"TrackForAllMembers"` + TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitnil,omitempty" name:"TrackForAllMembers"` } func (r *ModifyAuditTrackRequest) ToJsonString() string { @@ -1371,8 +1266,8 @@ func (r *ModifyAuditTrackRequest) FromJsonString(s string) error { // Predefined struct for user type ModifyAuditTrackResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type ModifyAuditTrackResponse struct { @@ -1391,26 +1286,130 @@ func (r *ModifyAuditTrackResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type ModifyEventsAuditTrackRequestParams struct { + // 跟踪集 ID + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` + + // 跟踪集名称,仅支持大小写字母、数字、-以及_的组合,3-48个字符 + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // 跟踪集状态(未开启:0;开启:1) + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` + + // 数据投递存储(目前支持 cos、cls) + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` + + // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) + TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitnil,omitempty" name:"TrackForAllMembers"` + + // 多产品筛选过滤条件 + Filters *Filter `json:"Filters,omitnil,omitempty" name:"Filters"` +} + +type ModifyEventsAuditTrackRequest struct { + *tchttp.BaseRequest + + // 跟踪集 ID + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` + + // 跟踪集名称,仅支持大小写字母、数字、-以及_的组合,3-48个字符 + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // 跟踪集状态(未开启:0;开启:1) + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` + + // 数据投递存储(目前支持 cos、cls) + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` + + // 是否开启将集团成员操作日志投递到集团管理账号或者可信服务管理账号(0:未开启,1:开启,只能集团管理账号或者可信服务管理账号开启此项功能) + TrackForAllMembers *uint64 `json:"TrackForAllMembers,omitnil,omitempty" name:"TrackForAllMembers"` + + // 多产品筛选过滤条件 + Filters *Filter `json:"Filters,omitnil,omitempty" name:"Filters"` +} + +func (r *ModifyEventsAuditTrackRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyEventsAuditTrackRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrackId") + delete(f, "Name") + delete(f, "Status") + delete(f, "Storage") + delete(f, "TrackForAllMembers") + delete(f, "Filters") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyEventsAuditTrackRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyEventsAuditTrackResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyEventsAuditTrackResponse struct { + *tchttp.BaseResponse + Response *ModifyEventsAuditTrackResponseParams `json:"Response"` +} + +func (r *ModifyEventsAuditTrackResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyEventsAuditTrackResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type Resource struct { // 资源类型 - ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + // 注意:此字段可能返回 null,表示取不到有效值。 + ResourceType *string `json:"ResourceType,omitnil,omitempty" name:"ResourceType"` // 资源名称 // 注意:此字段可能返回 null,表示取不到有效值。 - ResourceName *string `json:"ResourceName,omitempty" name:"ResourceName"` + ResourceName *string `json:"ResourceName,omitnil,omitempty" name:"ResourceName"` +} + +type ResourceField struct { + // 跟踪事件所属产品(支持全部产品或单个产品,如:cam,全部:*) + // 注意:此字段可能返回 null,表示取不到有效值。 + ResourceType *string `json:"ResourceType,omitnil,omitempty" name:"ResourceType"` + + // 跟踪事件类型(读:Read;写:Write;全部:*) + // 注意:此字段可能返回 null,表示取不到有效值。 + ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"` + + // 跟踪事件接口名列表(ResourceType为 * 时,EventNames必须为全部:[""];指定ResourceType时,支持全部接口:[""];支持部分接口:["cos", "cls"],接口列表上限10个) + // 注意:此字段可能返回 null,表示取不到有效值。 + EventNames []*string `json:"EventNames,omitnil,omitempty" name:"EventNames"` } // Predefined struct for user type StartLoggingRequestParams struct { // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` } type StartLoggingRequest struct { *tchttp.BaseRequest // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` } func (r *StartLoggingRequest) ToJsonString() string { @@ -1435,10 +1434,10 @@ func (r *StartLoggingRequest) FromJsonString(s string) error { // Predefined struct for user type StartLoggingResponseParams struct { // 是否开启成功 - IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"` + IsSuccess *int64 `json:"IsSuccess,omitnil,omitempty" name:"IsSuccess"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type StartLoggingResponse struct { @@ -1460,14 +1459,14 @@ func (r *StartLoggingResponse) FromJsonString(s string) error { // Predefined struct for user type StopLoggingRequestParams struct { // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` } type StopLoggingRequest struct { *tchttp.BaseRequest // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` } func (r *StopLoggingRequest) ToJsonString() string { @@ -1492,10 +1491,10 @@ func (r *StopLoggingRequest) FromJsonString(s string) error { // Predefined struct for user type StopLoggingResponseParams struct { // 是否关闭成功 - IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"` + IsSuccess *int64 `json:"IsSuccess,omitnil,omitempty" name:"IsSuccess"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type StopLoggingResponse struct { @@ -1516,127 +1515,135 @@ func (r *StopLoggingResponse) FromJsonString(s string) error { type Storage struct { // 存储类型(目前支持 cos、cls) - StorageType *string `json:"StorageType,omitempty" name:"StorageType"` + StorageType *string `json:"StorageType,omitnil,omitempty" name:"StorageType"` // 存储所在地域 - StorageRegion *string `json:"StorageRegion,omitempty" name:"StorageRegion"` + StorageRegion *string `json:"StorageRegion,omitnil,omitempty" name:"StorageRegion"` // 存储名称(cos:存储名称为用户自定义的存储桶名称,不包含"-APPID",仅支持小写字母、数字以及中划线"-"的组合,不能超过50字符,且不支持中划线"-"开头或结尾; cls:存储名称为日志主题id,字符长度为1-50个字符) - StorageName *string `json:"StorageName,omitempty" name:"StorageName"` + StorageName *string `json:"StorageName,omitnil,omitempty" name:"StorageName"` // 存储目录前缀,cos日志文件前缀仅支持字母和数字的组合,3-40个字符 - StoragePrefix *string `json:"StoragePrefix,omitempty" name:"StoragePrefix"` + StoragePrefix *string `json:"StoragePrefix,omitnil,omitempty" name:"StoragePrefix"` + + // 被指定存储用户ID + // 注意:此字段可能返回 null,表示取不到有效值。 + StorageAccountId *string `json:"StorageAccountId,omitnil,omitempty" name:"StorageAccountId"` + + // 被指定存储用户appid + // 注意:此字段可能返回 null,表示取不到有效值。 + StorageAppId *string `json:"StorageAppId,omitnil,omitempty" name:"StorageAppId"` } type Tracks struct { // 跟踪集名称 - Name *string `json:"Name,omitempty" name:"Name"` + Name *string `json:"Name,omitnil,omitempty" name:"Name"` // 跟踪事件类型(读:Read;写:Write;全部:*) - ActionType *string `json:"ActionType,omitempty" name:"ActionType"` + ActionType *string `json:"ActionType,omitnil,omitempty" name:"ActionType"` // 跟踪事件所属产品(如:cos,全部:*) - ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + ResourceType *string `json:"ResourceType,omitnil,omitempty" name:"ResourceType"` // 跟踪集状态(未开启:0;开启:1) - Status *uint64 `json:"Status,omitempty" name:"Status"` + Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` // 跟踪事件接口名列表(全部:[*]) - EventNames []*string `json:"EventNames,omitempty" name:"EventNames"` + EventNames []*string `json:"EventNames,omitnil,omitempty" name:"EventNames"` // 数据投递存储(目前支持 cos、cls) - Storage *Storage `json:"Storage,omitempty" name:"Storage"` + Storage *Storage `json:"Storage,omitnil,omitempty" name:"Storage"` // 跟踪集创建时间 - CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` + CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` // 跟踪集 ID - TrackId *uint64 `json:"TrackId,omitempty" name:"TrackId"` + TrackId *uint64 `json:"TrackId,omitnil,omitempty" name:"TrackId"` } // Predefined struct for user type UpdateAuditRequestParams struct { // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` // 是否开启cmq消息通知。1:是,0:否。目前仅支持cmq的队列服务。如果开启cmq消息通知服务,云审计会将您的日志内容实时投递到您指定地域的指定队列中。 - IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitempty" name:"IsEnableCmqNotify"` + IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitnil,omitempty" name:"IsEnableCmqNotify"` // 管理事件的读写属性。1:只读,2:只写,3:全部。 - ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitempty" name:"ReadWriteAttribute"` + ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitnil,omitempty" name:"ReadWriteAttribute"` // CMK的全局唯一标识符,如果不是新创建的kms,该值是必填值。可以通过ListKeyAliasByRegion来获取。云审计不会校验KeyId的合法性,请您谨慎填写,避免给您的数据造成损失。 - KeyId *string `json:"KeyId,omitempty" name:"KeyId"` + KeyId *string `json:"KeyId,omitnil,omitempty" name:"KeyId"` // cos地域。目前支持的地域可以使用ListCosEnableRegion来获取。 - CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"` + CosRegion *string `json:"CosRegion,omitnil,omitempty" name:"CosRegion"` // 队列名称。队列名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。如果IsEnableCmqNotify值是1的话,此值属于必填字段。如果不是新创建的队列,云审计不会去校验该队列是否真的存在,请谨慎填写,避免日志通知不成功,导致您的数据丢失。 - CmqQueueName *string `json:"CmqQueueName,omitempty" name:"CmqQueueName"` + CmqQueueName *string `json:"CmqQueueName,omitnil,omitempty" name:"CmqQueueName"` // 是否创建新的cos存储桶。1:是,0:否。 - IsCreateNewBucket *int64 `json:"IsCreateNewBucket,omitempty" name:"IsCreateNewBucket"` + IsCreateNewBucket *int64 `json:"IsCreateNewBucket,omitnil,omitempty" name:"IsCreateNewBucket"` // kms地域。目前支持的地域可以使用ListKmsEnableRegion来获取。必须要和cos的地域保持一致。 - KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"` + KmsRegion *string `json:"KmsRegion,omitnil,omitempty" name:"KmsRegion"` // 是否开启kms加密。1:是,0:否。如果开启KMS加密,数据在投递到cos时,会将数据加密。 - IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitempty" name:"IsEnableKmsEncry"` + IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitnil,omitempty" name:"IsEnableKmsEncry"` // cos的存储桶名称。仅支持小写英文字母和数字即[a-z,0-9]、中划线“-”及其组合。用户自定义的字符串支持1 - 40个字符。存储桶命名不能以“-”开头或结尾。如果不是新创建的存储桶,云审计不会去校验该存储桶是否真的存在,请谨慎填写,避免日志投递不成功,导致您的数据丢失。 - CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"` + CosBucketName *string `json:"CosBucketName,omitnil,omitempty" name:"CosBucketName"` // 队列所在的地域。可以通过ListCmqEnableRegion获取支持的cmq地域。如果IsEnableCmqNotify值是1的话,此值属于必填字段。 - CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"` + CmqRegion *string `json:"CmqRegion,omitnil,omitempty" name:"CmqRegion"` // 日志文件前缀。3-40个字符,只能包含 ASCII 编码字母 a-z,A-Z,数字 0-9。 - LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"` + LogFilePrefix *string `json:"LogFilePrefix,omitnil,omitempty" name:"LogFilePrefix"` // 是否创建新的队列。1:是,0:否。如果IsEnableCmqNotify值是1的话,此值属于必填字段。 - IsCreateNewQueue *int64 `json:"IsCreateNewQueue,omitempty" name:"IsCreateNewQueue"` + IsCreateNewQueue *int64 `json:"IsCreateNewQueue,omitnil,omitempty" name:"IsCreateNewQueue"` } type UpdateAuditRequest struct { *tchttp.BaseRequest // 跟踪集名称 - AuditName *string `json:"AuditName,omitempty" name:"AuditName"` + AuditName *string `json:"AuditName,omitnil,omitempty" name:"AuditName"` // 是否开启cmq消息通知。1:是,0:否。目前仅支持cmq的队列服务。如果开启cmq消息通知服务,云审计会将您的日志内容实时投递到您指定地域的指定队列中。 - IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitempty" name:"IsEnableCmqNotify"` + IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitnil,omitempty" name:"IsEnableCmqNotify"` // 管理事件的读写属性。1:只读,2:只写,3:全部。 - ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitempty" name:"ReadWriteAttribute"` + ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitnil,omitempty" name:"ReadWriteAttribute"` // CMK的全局唯一标识符,如果不是新创建的kms,该值是必填值。可以通过ListKeyAliasByRegion来获取。云审计不会校验KeyId的合法性,请您谨慎填写,避免给您的数据造成损失。 - KeyId *string `json:"KeyId,omitempty" name:"KeyId"` + KeyId *string `json:"KeyId,omitnil,omitempty" name:"KeyId"` // cos地域。目前支持的地域可以使用ListCosEnableRegion来获取。 - CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"` + CosRegion *string `json:"CosRegion,omitnil,omitempty" name:"CosRegion"` // 队列名称。队列名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。如果IsEnableCmqNotify值是1的话,此值属于必填字段。如果不是新创建的队列,云审计不会去校验该队列是否真的存在,请谨慎填写,避免日志通知不成功,导致您的数据丢失。 - CmqQueueName *string `json:"CmqQueueName,omitempty" name:"CmqQueueName"` + CmqQueueName *string `json:"CmqQueueName,omitnil,omitempty" name:"CmqQueueName"` // 是否创建新的cos存储桶。1:是,0:否。 - IsCreateNewBucket *int64 `json:"IsCreateNewBucket,omitempty" name:"IsCreateNewBucket"` + IsCreateNewBucket *int64 `json:"IsCreateNewBucket,omitnil,omitempty" name:"IsCreateNewBucket"` // kms地域。目前支持的地域可以使用ListKmsEnableRegion来获取。必须要和cos的地域保持一致。 - KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"` + KmsRegion *string `json:"KmsRegion,omitnil,omitempty" name:"KmsRegion"` // 是否开启kms加密。1:是,0:否。如果开启KMS加密,数据在投递到cos时,会将数据加密。 - IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitempty" name:"IsEnableKmsEncry"` + IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitnil,omitempty" name:"IsEnableKmsEncry"` // cos的存储桶名称。仅支持小写英文字母和数字即[a-z,0-9]、中划线“-”及其组合。用户自定义的字符串支持1 - 40个字符。存储桶命名不能以“-”开头或结尾。如果不是新创建的存储桶,云审计不会去校验该存储桶是否真的存在,请谨慎填写,避免日志投递不成功,导致您的数据丢失。 - CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"` + CosBucketName *string `json:"CosBucketName,omitnil,omitempty" name:"CosBucketName"` // 队列所在的地域。可以通过ListCmqEnableRegion获取支持的cmq地域。如果IsEnableCmqNotify值是1的话,此值属于必填字段。 - CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"` + CmqRegion *string `json:"CmqRegion,omitnil,omitempty" name:"CmqRegion"` // 日志文件前缀。3-40个字符,只能包含 ASCII 编码字母 a-z,A-Z,数字 0-9。 - LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"` + LogFilePrefix *string `json:"LogFilePrefix,omitnil,omitempty" name:"LogFilePrefix"` // 是否创建新的队列。1:是,0:否。如果IsEnableCmqNotify值是1的话,此值属于必填字段。 - IsCreateNewQueue *int64 `json:"IsCreateNewQueue,omitempty" name:"IsCreateNewQueue"` + IsCreateNewQueue *int64 `json:"IsCreateNewQueue,omitnil,omitempty" name:"IsCreateNewQueue"` } func (r *UpdateAuditRequest) ToJsonString() string { @@ -1673,10 +1680,10 @@ func (r *UpdateAuditRequest) FromJsonString(s string) error { // Predefined struct for user type UpdateAuditResponseParams struct { // 是否更新成功 - IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"` + IsSuccess *int64 `json:"IsSuccess,omitnil,omitempty" name:"IsSuccess"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type UpdateAuditResponse struct { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go index d439479622..ee32b86ded 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go @@ -265,7 +265,7 @@ func CompleteCommonParams(request Request, region string, requestClient string) params["Action"] = request.GetAction() params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10) params["Nonce"] = strconv.Itoa(rand.Int()) - params["RequestClient"] = "SDK_GO_1.0.1031" + params["RequestClient"] = "SDK_GO_1.0.1033" if requestClient != "" { params["RequestClient"] += ": " + requestClient } diff --git a/vendor/modules.txt b/vendor/modules.txt index 2939cdb3b9..a391b7b94f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1157,13 +1157,13 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka/v20190819 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1031 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1033 ## explicit; go 1.11 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors diff --git a/website/docs/r/audit.html.markdown b/website/docs/r/audit.html.markdown deleted file mode 100644 index a324a0e10e..0000000000 --- a/website/docs/r/audit.html.markdown +++ /dev/null @@ -1,57 +0,0 @@ ---- -subcategory: "Cloud Audit(Audit)" -layout: "tencentcloud" -page_title: "TencentCloud: tencentcloud_audit" -sidebar_current: "docs-tencentcloud-resource-audit" -description: |- - Provides a resource to create an audit. ---- - -# tencentcloud_audit - -Provides a resource to create an audit. - -~> **NOTE:** It has been deprecated and replaced by tencentcloud_audit_track. - -## Example Usage - -```hcl -resource "tencentcloud_audit" "foo" { - name = "audittest" - cos_bucket = "test" - cos_region = "ap-hongkong" - log_file_prefix = "test" - audit_switch = true - read_write_attribute = 3 -} -``` - -## Argument Reference - -The following arguments are supported: - -* `audit_switch` - (Required, Bool) Indicate whether to turn on audit logging or not. -* `cos_bucket` - (Required, String) Name of the cos bucket to save audit log. Caution: the validation of existing cos bucket will not be checked by terraform. -* `cos_region` - (Required, String) Region of the cos bucket. -* `name` - (Required, String, ForceNew) Name of audit. Valid length ranges from 3 to 128. Only alpha character or numbers or '_' supported. -* `read_write_attribute` - (Required, Int) Event attribute filter. Valid values: `1`, `2`, `3`. `1` for readonly, `2` for write-only, `3` for all. -* `enable_kms_encry` - (Optional, Bool) Indicate whether the log is encrypt with KMS algorithm or not. -* `key_id` - (Optional, String) Existing CMK unique key. This field can be get by data source `tencentcloud_audit_key_alias`. Caution: the region of the KMS must be as same as the `cos_region`. -* `log_file_prefix` - (Optional, String) The log file name prefix. The length ranges from 3 to 40. If not set, the account ID will be the log file prefix. - -## Attributes Reference - -In addition to all arguments above, the following attributes are exported: - -* `id` - ID of the resource. - - - -## Import - -Audit can be imported using the id, e.g. - -``` -$ terraform import tencentcloud_audit.foo audit-test -``` - diff --git a/website/docs/r/audit_track.html.markdown b/website/docs/r/audit_track.html.markdown index 614647f1dc..3c322ad229 100644 --- a/website/docs/r/audit_track.html.markdown +++ b/website/docs/r/audit_track.html.markdown @@ -14,7 +14,7 @@ Provides a resource to create a audit track ## Example Usage ```hcl -resource "tencentcloud_audit_track" "track" { +resource "tencentcloud_audit_track" "example" { action_type = "Read" event_names = [ "*", @@ -33,6 +33,30 @@ resource "tencentcloud_audit_track" "track" { } ``` +### Specify storage user + +```hcl +resource "tencentcloud_audit_track" "example" { + action_type = "Read" + event_names = [ + "*", + ] + name = "terraform_track" + resource_type = "*" + status = 1 + track_for_all_members = 0 + + storage { + storage_name = "db90b92c-91d2-46b0-94ac-debbbb21dc4e" + storage_prefix = "cloudaudit" + storage_region = "ap-guangzhou" + storage_type = "cls" + storage_account_id = "100037717137" + storage_app_id = "1309116520" + } +} +``` + ## Argument Reference The following arguments are supported: @@ -51,6 +75,8 @@ The `storage` object supports the following: * `storage_prefix` - (Required, String) Storage path prefix. * `storage_region` - (Required, String) Storage region. * `storage_type` - (Required, String) Track Storage type, optional:- `cos`- `cls`. +* `storage_account_id` - (Optional, String) Designated to store user ID. +* `storage_app_id` - (Optional, String) Designated to store user appid. ## Attributes Reference @@ -64,6 +90,6 @@ In addition to all arguments above, the following attributes are exported: audit track can be imported using the id, e.g. ``` -$ terraform import tencentcloud_audit_track.track track_id +$ terraform import tencentcloud_audit_track.example 24283 ``` diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index 11fe408d81..2341463db9 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -841,9 +841,6 @@