alicloud/data_source_alicloud_caller_identity.go (42 lines of code) (raw):

package alicloud import ( "github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" ) func dataSourceAlicloudCallerIdentity() *schema.Resource { return &schema.Resource{ Read: dataSourceAlicloudCallerIdentityRead, Schema: map[string]*schema.Schema{ "account_id": { Type: schema.TypeString, Computed: true, }, "arn": { Type: schema.TypeString, Computed: true, }, "identity_type": { Type: schema.TypeString, Computed: true, }, }, } } func dataSourceAlicloudCallerIdentityRead(d *schema.ResourceData, meta interface{}) error { client := meta.(*connectivity.AliyunClient) resp, err := client.GetCallerIdentity() if err != nil { return err } d.SetId(resp.PrincipalId) if err := d.Set("account_id", resp.AccountId); err != nil { return err } if err := d.Set("arn", resp.Arn); err != nil { return err } if err := d.Set("identity_type", resp.IdentityType); err != nil { return err } return nil }