當前位置: 首頁>>代碼示例>>Golang>>正文


Golang redshift.Redshift類代碼示例

本文整理匯總了Golang中github.com/aws/aws-sdk-go/service/redshift.Redshift的典型用法代碼示例。如果您正苦於以下問題:Golang Redshift類的具體用法?Golang Redshift怎麽用?Golang Redshift使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Redshift類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: resourceAwsRedshiftSecurityGroupAuthorizeRule

func resourceAwsRedshiftSecurityGroupAuthorizeRule(ingress interface{}, redshiftSecurityGroupName string, conn *redshift.Redshift) error {
	ing := ingress.(map[string]interface{})

	opts := redshift.AuthorizeClusterSecurityGroupIngressInput{
		ClusterSecurityGroupName: aws.String(redshiftSecurityGroupName),
	}

	if attr, ok := ing["cidr"]; ok && attr != "" {
		opts.CIDRIP = aws.String(attr.(string))
	}

	if attr, ok := ing["security_group_name"]; ok && attr != "" {
		opts.EC2SecurityGroupName = aws.String(attr.(string))
	}

	if attr, ok := ing["security_group_owner_id"]; ok && attr != "" {
		opts.EC2SecurityGroupOwnerId = aws.String(attr.(string))
	}

	log.Printf("[DEBUG] Authorize ingress rule configuration: %#v", opts)
	_, err := conn.AuthorizeClusterSecurityGroupIngress(&opts)

	if err != nil {
		return fmt.Errorf("Error authorizing security group ingress: %s", err)
	}

	return nil
}
開發者ID:Zordrak,項目名稱:terraform,代碼行數:28,代碼來源:resource_aws_redshift_security_group.go

示例2: enableRedshiftClusterLogging

func enableRedshiftClusterLogging(d *schema.ResourceData, conn *redshift.Redshift) error {
	if _, ok := d.GetOk("bucket_name"); !ok {
		return fmt.Errorf("bucket_name must be set when enabling logging for Redshift Clusters")
	}

	params := &redshift.EnableLoggingInput{
		ClusterIdentifier: aws.String(d.Id()),
		BucketName:        aws.String(d.Get("bucket_name").(string)),
	}

	if v, ok := d.GetOk("s3_key_prefix"); ok {
		params.S3KeyPrefix = aws.String(v.(string))
	}

	_, loggingErr := conn.EnableLogging(params)
	if loggingErr != nil {
		log.Printf("[ERROR] Error Enabling Logging on Redshift Cluster: %s", loggingErr)
		return loggingErr
	}
	return nil
}
開發者ID:Zordrak,項目名稱:terraform,代碼行數:21,代碼來源:resource_aws_redshift_cluster.go

示例3: setTagsRedshift

func setTagsRedshift(conn *redshift.Redshift, d *schema.ResourceData, arn string) error {
	if d.HasChange("tags") {
		oraw, nraw := d.GetChange("tags")
		o := oraw.(map[string]interface{})
		n := nraw.(map[string]interface{})
		create, remove := diffTagsRedshift(tagsFromMapRedshift(o), tagsFromMapRedshift(n))

		// Set tags
		if len(remove) > 0 {
			log.Printf("[DEBUG] Removing tags: %#v", remove)
			k := make([]*string, len(remove), len(remove))
			for i, t := range remove {
				k[i] = t.Key
			}

			_, err := conn.DeleteTags(&redshift.DeleteTagsInput{
				ResourceName: aws.String(arn),
				TagKeys:      k,
			})
			if err != nil {
				return err
			}
		}
		if len(create) > 0 {
			log.Printf("[DEBUG] Creating tags: %#v", create)
			_, err := conn.CreateTags(&redshift.CreateTagsInput{
				ResourceName: aws.String(arn),
				Tags:         create,
			})
			if err != nil {
				return err
			}
		}
	}

	return nil
}
開發者ID:Zordrak,項目名稱:terraform,代碼行數:37,代碼來源:tagsRedshift.go


注:本文中的github.com/aws/aws-sdk-go/service/redshift.Redshift類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。