func ExampleElastiCache_PurchaseReservedCacheNodesOffering() { svc := elasticache.New(nil) params := &elasticache.PurchaseReservedCacheNodesOfferingInput{ ReservedCacheNodesOfferingID: aws.String("String"), // Required CacheNodeCount: aws.Long(1), ReservedCacheNodeID: aws.String("String"), } resp, err := svc.PurchaseReservedCacheNodesOffering(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleElastiCache_AuthorizeCacheSecurityGroupIngress() { svc := elasticache.New(nil) params := &elasticache.AuthorizeCacheSecurityGroupIngressInput{ CacheSecurityGroupName: aws.String("String"), // Required EC2SecurityGroupName: aws.String("String"), // Required EC2SecurityGroupOwnerID: aws.String("String"), // Required } resp, err := svc.AuthorizeCacheSecurityGroupIngress(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleElastiCache_ModifyCacheParameterGroup() { svc := elasticache.New(nil) params := &elasticache.ModifyCacheParameterGroupInput{ CacheParameterGroupName: aws.String("String"), // Required ParameterNameValues: []*elasticache.ParameterNameValue{ // Required { // Required ParameterName: aws.String("String"), ParameterValue: aws.String("String"), }, // More values... }, } resp, err := svc.ModifyCacheParameterGroup(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.Prettify(resp)) }
func ExampleElastiCache_DescribeReservedCacheNodes() { svc := elasticache.New(nil) params := &elasticache.DescribeReservedCacheNodesInput{ CacheNodeType: aws.String("String"), Duration: aws.String("String"), Marker: aws.String("String"), MaxRecords: aws.Int64(1), OfferingType: aws.String("String"), ProductDescription: aws.String("String"), ReservedCacheNodeId: aws.String("String"), ReservedCacheNodesOfferingId: aws.String("String"), } resp, err := svc.DescribeReservedCacheNodes(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_DeleteReplicationGroup() { svc := elasticache.New(nil) params := &elasticache.DeleteReplicationGroupInput{ ReplicationGroupId: aws.String("String"), // Required FinalSnapshotIdentifier: aws.String("String"), RetainPrimaryCluster: aws.Bool(true), } resp, err := svc.DeleteReplicationGroup(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.Prettify(resp)) }
func ExampleElastiCache_ListTagsForResource() { svc := elasticache.New(nil) params := &elasticache.ListTagsForResourceInput{ ResourceName: aws.String("String"), // Required } resp, err := svc.ListTagsForResource(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.Prettify(resp)) }
func ExampleElastiCache_DescribeEvents() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.DescribeEventsInput{ Duration: aws.Int64(1), EndTime: aws.Time(time.Now()), Marker: aws.String("String"), MaxRecords: aws.Int64(1), SourceIdentifier: aws.String("String"), SourceType: aws.String("SourceType"), StartTime: aws.Time(time.Now()), } resp, err := svc.DescribeEvents(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_DescribeCacheEngineVersions() { svc := elasticache.New(nil) params := &elasticache.DescribeCacheEngineVersionsInput{ CacheParameterGroupFamily: aws.String("String"), DefaultOnly: aws.Boolean(true), Engine: aws.String("String"), EngineVersion: aws.String("String"), Marker: aws.String("String"), MaxRecords: aws.Long(1), } resp, err := svc.DescribeCacheEngineVersions(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleElastiCache_AuthorizeCacheSecurityGroupIngress() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.AuthorizeCacheSecurityGroupIngressInput{ CacheSecurityGroupName: aws.String("String"), // Required EC2SecurityGroupName: aws.String("String"), // Required EC2SecurityGroupOwnerId: aws.String("String"), // Required } resp, err := svc.AuthorizeCacheSecurityGroupIngress(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_DescribeEngineDefaultParameters() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.DescribeEngineDefaultParametersInput{ CacheParameterGroupFamily: aws.String("String"), // Required Marker: aws.String("String"), MaxRecords: aws.Int64(1), } resp, err := svc.DescribeEngineDefaultParameters(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_DeleteReplicationGroup() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.DeleteReplicationGroupInput{ ReplicationGroupId: aws.String("String"), // Required FinalSnapshotIdentifier: aws.String("String"), RetainPrimaryCluster: aws.Bool(true), } resp, err := svc.DeleteReplicationGroup(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_CreateCacheParameterGroup() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.CreateCacheParameterGroupInput{ CacheParameterGroupFamily: aws.String("String"), // Required CacheParameterGroupName: aws.String("String"), // Required Description: aws.String("String"), // Required } resp, err := svc.CreateCacheParameterGroup(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_RemoveTagsFromResource() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.RemoveTagsFromResourceInput{ ResourceName: aws.String("String"), // Required TagKeys: []*string{ // Required aws.String("String"), // Required // More values... }, } resp, err := svc.RemoveTagsFromResource(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_RebootCacheCluster() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.RebootCacheClusterInput{ CacheClusterId: aws.String("String"), // Required CacheNodeIdsToReboot: []*string{ // Required aws.String("String"), // Required // More values... }, } resp, err := svc.RebootCacheCluster(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_CopySnapshot() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.CopySnapshotInput{ SourceSnapshotName: aws.String("String"), // Required TargetSnapshotName: aws.String("String"), // Required TargetBucket: aws.String("String"), } resp, err := svc.CopySnapshot(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_RebootCacheCluster() { svc := elasticache.New(nil) params := &elasticache.RebootCacheClusterInput{ CacheClusterID: aws.String("String"), // Required CacheNodeIDsToReboot: []*string{ // Required aws.String("String"), // Required // More values... }, } resp, err := svc.RebootCacheCluster(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleElastiCache_DescribeSnapshots() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.DescribeSnapshotsInput{ CacheClusterId: aws.String("String"), Marker: aws.String("String"), MaxRecords: aws.Int64(1), ReplicationGroupId: aws.String("String"), ShowNodeGroupConfig: aws.Bool(true), SnapshotName: aws.String("String"), SnapshotSource: aws.String("String"), } resp, err := svc.DescribeSnapshots(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_DescribeReservedCacheNodesOfferings() { svc := elasticache.New(nil) params := &elasticache.DescribeReservedCacheNodesOfferingsInput{ CacheNodeType: aws.String("String"), Duration: aws.String("String"), Marker: aws.String("String"), MaxRecords: aws.Long(1), OfferingType: aws.String("String"), ProductDescription: aws.String("String"), ReservedCacheNodesOfferingID: aws.String("String"), } resp, err := svc.DescribeReservedCacheNodesOfferings(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleElastiCache_ListAllowedNodeTypeModifications() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.ListAllowedNodeTypeModificationsInput{ CacheClusterId: aws.String("String"), ReplicationGroupId: aws.String("String"), } resp, err := svc.ListAllowedNodeTypeModifications(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_DescribeSnapshots() { svc := elasticache.New(nil) params := &elasticache.DescribeSnapshotsInput{ CacheClusterId: aws.String("String"), Marker: aws.String("String"), MaxRecords: aws.Int64(1), SnapshotName: aws.String("String"), SnapshotSource: aws.String("String"), } resp, err := svc.DescribeSnapshots(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.Prettify(resp)) }
// MustClient will use the cache cluster ID to describe // the cache cluster and instantiate a memcache.Client // with the cache nodes returned from AWS. func (e *ElastiCache) MustClient() *memcache.Client { var creds *credentials.Credentials if e.AccessKey != "" { creds = credentials.NewStaticCredentials(e.AccessKey, e.SecretKey, "") } else { creds = credentials.NewEnvCredentials() } ecclient := elasticache.New(session.New(&aws.Config{ Credentials: creds, Region: &e.Region, })) resp, err := ecclient.DescribeCacheClusters(&elasticache.DescribeCacheClustersInput{ CacheClusterId: &e.ClusterID, ShowCacheNodeInfo: aws.Bool(true), }) if err != nil { log.Fatalf("unable to describe cache cluster: %s", err) } var nodes []string for _, cluster := range resp.CacheClusters { for _, cnode := range cluster.CacheNodes { addr := fmt.Sprintf("%s:%d", *cnode.Endpoint.Address, *cnode.Endpoint.Port) nodes = append(nodes, addr) } } return memcache.New(nodes...) }
func ExampleElastiCache_ResetCacheParameterGroup() { svc := elasticache.New(nil) params := &elasticache.ResetCacheParameterGroupInput{ CacheParameterGroupName: aws.String("String"), // Required ParameterNameValues: []*elasticache.ParameterNameValue{ // Required { // Required ParameterName: aws.String("String"), ParameterValue: aws.String("String"), }, // More values... }, ResetAllParameters: aws.Bool(true), } resp, err := svc.ResetCacheParameterGroup(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_ModifyCacheSubnetGroup() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.ModifyCacheSubnetGroupInput{ CacheSubnetGroupName: aws.String("String"), // Required CacheSubnetGroupDescription: aws.String("String"), SubnetIds: []*string{ aws.String("String"), // Required // More values... }, } resp, err := svc.ModifyCacheSubnetGroup(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_AddTagsToResource() { svc := elasticache.New(nil) params := &elasticache.AddTagsToResourceInput{ ResourceName: aws.String("String"), // Required Tags: []*elasticache.Tag{ // Required { // Required Key: aws.String("String"), Value: aws.String("String"), }, // More values... }, } resp, err := svc.AddTagsToResource(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_PurchaseReservedCacheNodesOffering() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.PurchaseReservedCacheNodesOfferingInput{ ReservedCacheNodesOfferingId: aws.String("String"), // Required CacheNodeCount: aws.Int64(1), ReservedCacheNodeId: aws.String("String"), } resp, err := svc.PurchaseReservedCacheNodesOffering(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func CreateElasticacheBackend(logLevel int, cacheClusterId string, localPort int, awsConfig *aws.Config) *ElasticacheBackend { return &ElasticacheBackend{ logLevel: logLevel, localPort: strconv.Itoa(localPort), cacheClusterId: cacheClusterId, elasticache: elasticache.New(session.New(), awsConfig), } }
func ExampleElastiCache_CreateCacheCluster() { svc := elasticache.New(nil) params := &elasticache.CreateCacheClusterInput{ CacheClusterId: aws.String("String"), // Required AZMode: aws.String("AZMode"), AutoMinorVersionUpgrade: aws.Bool(true), CacheNodeType: aws.String("String"), CacheParameterGroupName: aws.String("String"), CacheSecurityGroupNames: []*string{ aws.String("String"), // Required // More values... }, CacheSubnetGroupName: aws.String("String"), Engine: aws.String("String"), EngineVersion: aws.String("String"), NotificationTopicArn: aws.String("String"), NumCacheNodes: aws.Int64(1), Port: aws.Int64(1), PreferredAvailabilityZone: aws.String("String"), PreferredAvailabilityZones: []*string{ aws.String("String"), // Required // More values... }, PreferredMaintenanceWindow: aws.String("String"), ReplicationGroupId: aws.String("String"), SecurityGroupIds: []*string{ aws.String("String"), // Required // More values... }, SnapshotArns: []*string{ aws.String("String"), // Required // More values... }, SnapshotName: aws.String("String"), SnapshotRetentionLimit: aws.Int64(1), SnapshotWindow: aws.String("String"), Tags: []*elasticache.Tag{ { // Required Key: aws.String("String"), Value: aws.String("String"), }, // More values... }, } resp, err := svc.CreateCacheCluster(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_ModifyCacheCluster() { svc := elasticache.New(nil) params := &elasticache.ModifyCacheClusterInput{ CacheClusterId: aws.String("String"), // Required AZMode: aws.String("AZMode"), ApplyImmediately: aws.Bool(true), AutoMinorVersionUpgrade: aws.Bool(true), CacheNodeIdsToRemove: []*string{ aws.String("String"), // Required // More values... }, CacheParameterGroupName: aws.String("String"), CacheSecurityGroupNames: []*string{ aws.String("String"), // Required // More values... }, EngineVersion: aws.String("String"), NewAvailabilityZones: []*string{ aws.String("String"), // Required // More values... }, NotificationTopicArn: aws.String("String"), NotificationTopicStatus: aws.String("String"), NumCacheNodes: aws.Int64(1), PreferredMaintenanceWindow: aws.String("String"), SecurityGroupIds: []*string{ aws.String("String"), // Required // More values... }, SnapshotRetentionLimit: aws.Int64(1), SnapshotWindow: aws.String("String"), } resp, err := svc.ModifyCacheCluster(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.Prettify(resp)) }
func ExampleElastiCache_ModifyCacheCluster() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elasticache.New(sess) params := &elasticache.ModifyCacheClusterInput{ CacheClusterId: aws.String("String"), // Required AZMode: aws.String("AZMode"), ApplyImmediately: aws.Bool(true), AutoMinorVersionUpgrade: aws.Bool(true), CacheNodeIdsToRemove: []*string{ aws.String("String"), // Required // More values... }, CacheNodeType: aws.String("String"), CacheParameterGroupName: aws.String("String"), CacheSecurityGroupNames: []*string{ aws.String("String"), // Required // More values... }, EngineVersion: aws.String("String"), NewAvailabilityZones: []*string{ aws.String("String"), // Required // More values... }, NotificationTopicArn: aws.String("String"), NotificationTopicStatus: aws.String("String"), NumCacheNodes: aws.Int64(1), PreferredMaintenanceWindow: aws.String("String"), SecurityGroupIds: []*string{ aws.String("String"), // Required // More values... }, SnapshotRetentionLimit: aws.Int64(1), SnapshotWindow: aws.String("String"), } resp, err := svc.ModifyCacheCluster(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleElastiCache_ModifyReplicationGroup() { svc := elasticache.New(nil) params := &elasticache.ModifyReplicationGroupInput{ ReplicationGroupID: aws.String("String"), // Required ApplyImmediately: aws.Boolean(true), AutoMinorVersionUpgrade: aws.Boolean(true), AutomaticFailoverEnabled: aws.Boolean(true), CacheParameterGroupName: aws.String("String"), CacheSecurityGroupNames: []*string{ aws.String("String"), // Required // More values... }, EngineVersion: aws.String("String"), NotificationTopicARN: aws.String("String"), NotificationTopicStatus: aws.String("String"), PreferredMaintenanceWindow: aws.String("String"), PrimaryClusterID: aws.String("String"), ReplicationGroupDescription: aws.String("String"), SecurityGroupIDs: []*string{ aws.String("String"), // Required // More values... }, SnapshotRetentionLimit: aws.Long(1), SnapshotWindow: aws.String("String"), SnapshottingClusterID: aws.String("String"), } resp, err := svc.ModifyReplicationGroup(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }