当前位置: 首页>>代码示例>>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;未经允许,请勿转载。