// resourceAwsLambdaEventSourceMappingUpdate maps to: // UpdateEventSourceMapping in the API / SDK func resourceAwsLambdaEventSourceMappingUpdate(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).lambdaconn log.Printf("[DEBUG] Updating Lambda event source mapping: %s", d.Id()) params := &lambda.UpdateEventSourceMappingInput{ UUID: aws.String(d.Id()), BatchSize: aws.Int64(int64(d.Get("batch_size").(int))), FunctionName: aws.String(d.Get("function_name").(string)), Enabled: aws.Bool(d.Get("enabled").(bool)), } err := resource.Retry(1*time.Minute, func() *resource.RetryError { _, err := conn.UpdateEventSourceMapping(params) if err != nil { if awserr, ok := err.(awserr.Error); ok { if awserr.Code() == "InvalidParameterValueException" { return resource.RetryableError(awserr) } } return resource.NonRetryableError(err) } return nil }) if err != nil { return fmt.Errorf("Error updating Lambda event source mapping: %s", err) } return resourceAwsLambdaEventSourceMappingRead(d, meta) }
func resourceAwsS3BucketObjectRead(d *schema.ResourceData, meta interface{}) error { s3conn := meta.(*AWSClient).s3conn bucket := d.Get("bucket").(string) key := d.Get("key").(string) etag := d.Get("etag").(string) resp, err := s3conn.HeadObject( &s3.HeadObjectInput{ Bucket: aws.String(bucket), Key: aws.String(key), IfMatch: aws.String(etag), }) if err != nil { // If S3 returns a 404 Request Failure, mark the object as destroyed if awsErr, ok := err.(awserr.RequestFailure); ok && awsErr.StatusCode() == 404 { d.SetId("") log.Printf("[WARN] Error Reading Object (%s), object not found (HTTP status 404)", key) return nil } return err } d.Set("cache_control", resp.CacheControl) d.Set("content_disposition", resp.ContentDisposition) d.Set("content_encoding", resp.ContentEncoding) d.Set("content_language", resp.ContentLanguage) d.Set("content_type", resp.ContentType) d.Set("version_id", resp.VersionId) log.Printf("[DEBUG] Reading S3 Bucket Object meta: %s", resp) return nil }
func ExampleSNS_ListEndpointsByPlatformApplication() { svc := sns.New(nil) params := &sns.ListEndpointsByPlatformApplicationInput{ PlatformApplicationARN: aws.String("String"), // Required NextToken: aws.String("String"), } resp, err := svc.ListEndpointsByPlatformApplication(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 ExampleCloudFormation_DeleteStack() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := cloudformation.New(sess) params := &cloudformation.DeleteStackInput{ StackName: aws.String("StackName"), // Required RetainResources: []*string{ aws.String("LogicalResourceId"), // Required // More values... }, } resp, err := svc.DeleteStack(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 ExampleSNS_AddPermission() { svc := sns.New(nil) params := &sns.AddPermissionInput{ AWSAccountID: []*string{ // Required aws.String("delegate"), // Required // More values... }, ActionName: []*string{ // Required aws.String("action"), // Required // More values... }, Label: aws.String("label"), // Required TopicARN: aws.String("topicARN"), // Required } resp, err := svc.AddPermission(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 ExampleLambda_UpdateFunctionConfiguration() { svc := lambda.New(nil) params := &lambda.UpdateFunctionConfigurationInput{ FunctionName: aws.String("FunctionName"), // Required Description: aws.String("Description"), Handler: aws.String("Handler"), MemorySize: aws.Int64(1), Role: aws.String("RoleArn"), Timeout: aws.Int64(1), } resp, err := svc.UpdateFunctionConfiguration(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 ExampleCloudFormation_ListChangeSets() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := cloudformation.New(sess) params := &cloudformation.ListChangeSetsInput{ StackName: aws.String("StackNameOrId"), // Required NextToken: aws.String("NextToken"), } resp, err := svc.ListChangeSets(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 ExampleLambda_Invoke() { svc := lambda.New(nil) params := &lambda.InvokeInput{ FunctionName: aws.String("FunctionName"), // Required ClientContext: aws.String("String"), InvocationType: aws.String("InvocationType"), LogType: aws.String("LogType"), Payload: []byte("PAYLOAD"), } resp, err := svc.Invoke(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 ExampleLambda_RemovePermission() { svc := lambda.New(nil) params := &lambda.RemovePermissionInput{ FunctionName: aws.String("FunctionName"), // Required StatementID: aws.String("StatementId"), // Required } resp, err := svc.RemovePermission(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 ExampleGlacier_ListVaults() { svc := glacier.New(nil) params := &glacier.ListVaultsInput{ AccountId: aws.String("string"), // Required Limit: aws.String("string"), Marker: aws.String("string"), } resp, err := svc.ListVaults(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 ExampleGlacier_SetDataRetrievalPolicy() { svc := glacier.New(nil) params := &glacier.SetDataRetrievalPolicyInput{ AccountId: aws.String("string"), // Required Policy: &glacier.DataRetrievalPolicy{ Rules: []*glacier.DataRetrievalRule{ { // Required BytesPerHour: aws.Int64(1), Strategy: aws.String("string"), }, // More values... }, }, } resp, err := svc.SetDataRetrievalPolicy(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 ExampleCloudFormation_ValidateTemplate() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := cloudformation.New(sess) params := &cloudformation.ValidateTemplateInput{ TemplateBody: aws.String("TemplateBody"), TemplateURL: aws.String("TemplateURL"), } resp, err := svc.ValidateTemplate(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) }
// Retrieve generates a new set of temporary credentials using STS. func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) { // Apply defaults where parameters are not set. if p.Client == nil { p.Client = sts.New(nil) } if p.RoleSessionName == "" { // Try to work out a role name that will hopefully end up unique. p.RoleSessionName = fmt.Sprintf("%d", time.Now().UTC().UnixNano()) } if p.Duration == 0 { // Expire as often as AWS permits. p.Duration = 15 * time.Minute } roleOutput, err := p.Client.AssumeRole(&sts.AssumeRoleInput{ DurationSeconds: aws.Long(int64(p.Duration / time.Second)), RoleARN: aws.String(p.RoleARN), RoleSessionName: aws.String(p.RoleSessionName), }) if err != nil { return credentials.Value{}, err } // We will proactively generate new credentials before they expire. p.SetExpiration(*roleOutput.Credentials.Expiration, p.ExpiryWindow) return credentials.Value{ AccessKeyID: *roleOutput.Credentials.AccessKeyID, SecretAccessKey: *roleOutput.Credentials.SecretAccessKey, SessionToken: *roleOutput.Credentials.SessionToken, }, nil }
func ExampleCloudFormation_SignalResource() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := cloudformation.New(sess) params := &cloudformation.SignalResourceInput{ LogicalResourceId: aws.String("LogicalResourceId"), // Required StackName: aws.String("StackNameOrId"), // Required Status: aws.String("ResourceSignalStatus"), // Required UniqueId: aws.String("ResourceSignalUniqueId"), // Required } resp, err := svc.SignalResource(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 ExampleCloudFormation_SetStackPolicy() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := cloudformation.New(sess) params := &cloudformation.SetStackPolicyInput{ StackName: aws.String("StackName"), // Required StackPolicyBody: aws.String("StackPolicyBody"), StackPolicyURL: aws.String("StackPolicyURL"), } resp, err := svc.SetStackPolicy(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 ExampleCloudFormation_ListStacks() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := cloudformation.New(sess) params := &cloudformation.ListStacksInput{ NextToken: aws.String("NextToken"), StackStatusFilter: []*string{ aws.String("StackStatus"), // Required // More values... }, } resp, err := svc.ListStacks(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 ExampleSNS_Subscribe() { svc := sns.New(nil) params := &sns.SubscribeInput{ Protocol: aws.String("protocol"), // Required TopicARN: aws.String("topicARN"), // Required Endpoint: aws.String("endpoint"), } resp, err := svc.Subscribe(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 ExampleGlacier_SetVaultNotifications() { svc := glacier.New(nil) params := &glacier.SetVaultNotificationsInput{ AccountId: aws.String("string"), // Required VaultName: aws.String("string"), // Required VaultNotificationConfig: &glacier.VaultNotificationConfig{ Events: []*string{ aws.String("string"), // Required // More values... }, SNSTopic: aws.String("string"), }, } resp, err := svc.SetVaultNotifications(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 ExampleSNS_CreatePlatformApplication() { svc := sns.New(nil) params := &sns.CreatePlatformApplicationInput{ Attributes: map[string]*string{ // Required "Key": aws.String("String"), // Required // More values... }, Name: aws.String("String"), // Required Platform: aws.String("String"), // Required } resp, err := svc.CreatePlatformApplication(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 ExampleGlacier_UploadMultipartPart() { svc := glacier.New(nil) params := &glacier.UploadMultipartPartInput{ AccountId: aws.String("string"), // Required UploadId: aws.String("string"), // Required VaultName: aws.String("string"), // Required Body: bytes.NewReader([]byte("PAYLOAD")), Checksum: aws.String("string"), Range: aws.String("string"), } resp, err := svc.UploadMultipartPart(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 ExampleLambda_ListEventSourceMappings() { svc := lambda.New(nil) params := &lambda.ListEventSourceMappingsInput{ EventSourceARN: aws.String("Arn"), FunctionName: aws.String("FunctionName"), Marker: aws.String("String"), MaxItems: aws.Int64(1), } resp, err := svc.ListEventSourceMappings(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 TestALBTargetGroupCloudwatchSuffixFromARN(t *testing.T) { cases := []struct { name string arn *string suffix string }{ { name: "valid suffix", arn: aws.String(`arn:aws:elasticloadbalancing:us-east-1:123456:targetgroup/my-targets/73e2d6bc24d8a067`), suffix: `targetgroup/my-targets/73e2d6bc24d8a067`, }, { name: "no suffix", arn: aws.String(`arn:aws:elasticloadbalancing:us-east-1:123456:targetgroup`), suffix: ``, }, { name: "nil ARN", arn: nil, suffix: ``, }, } for _, tc := range cases { actual := albTargetGroupSuffixFromARN(tc.arn) if actual != tc.suffix { t.Fatalf("bad suffix: %q\nExpected: %s\n Got: %s", tc.name, tc.suffix, actual) } } }
func ExampleLambda_UpdateFunctionCode() { svc := lambda.New(nil) params := &lambda.UpdateFunctionCodeInput{ FunctionName: aws.String("FunctionName"), // Required S3Bucket: aws.String("S3Bucket"), S3Key: aws.String("S3Key"), S3ObjectVersion: aws.String("S3ObjectVersion"), ZipFile: []byte("PAYLOAD"), } resp, err := svc.UpdateFunctionCode(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 resourceAwsSesReceiptRuleUpdate(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).sesConn updateOpts := &ses.UpdateReceiptRuleInput{ Rule: buildReceiptRule(d, meta), RuleSetName: aws.String(d.Get("rule_set_name").(string)), } _, err := conn.UpdateReceiptRule(updateOpts) if err != nil { return fmt.Errorf("Error updating SES rule: %s", err) } if d.HasChange("after") { changePosOpts := &ses.SetReceiptRulePositionInput{ After: aws.String(d.Get("after").(string)), RuleName: aws.String(d.Get("name").(string)), RuleSetName: aws.String(d.Get("rule_set_name").(string)), } _, err := conn.SetReceiptRulePosition(changePosOpts) if err != nil { return fmt.Errorf("Error updating SES rule: %s", err) } } return resourceAwsSesReceiptRuleRead(d, meta) }
func ExampleLambda_CreateEventSourceMapping() { svc := lambda.New(nil) params := &lambda.CreateEventSourceMappingInput{ EventSourceARN: aws.String("Arn"), // Required FunctionName: aws.String("FunctionName"), // Required StartingPosition: aws.String("EventSourcePosition"), // Required BatchSize: aws.Int64(1), Enabled: aws.Bool(true), } resp, err := svc.CreateEventSourceMapping(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 ExampleCloudFormation_DescribeStackResources() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := cloudformation.New(sess) params := &cloudformation.DescribeStackResourcesInput{ LogicalResourceId: aws.String("LogicalResourceId"), PhysicalResourceId: aws.String("PhysicalResourceId"), StackName: aws.String("StackName"), } resp, err := svc.DescribeStackResources(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 ExampleRoute53Domains_UpdateDomainNameservers() { svc := route53domains.New(nil) params := &route53domains.UpdateDomainNameserversInput{ DomainName: aws.String("DomainName"), // Required Nameservers: []*route53domains.Nameserver{ // Required { // Required Name: aws.String("HostName"), // Required GlueIps: []*string{ aws.String("GlueIp"), // Required // More values... }, }, // More values... }, FIAuthKey: aws.String("FIAuthKey"), } resp, err := svc.UpdateDomainNameservers(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 ExampleRoute53Domains_UpdateTagsForDomain() { svc := route53domains.New(nil) params := &route53domains.UpdateTagsForDomainInput{ DomainName: aws.String("DomainName"), // Required TagsToUpdate: []*route53domains.Tag{ { // Required Key: aws.String("TagKey"), Value: aws.String("TagValue"), }, // More values... }, } resp, err := svc.UpdateTagsForDomain(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 ExampleCloudFormation_EstimateTemplateCost() { svc := cloudformation.New(nil) params := &cloudformation.EstimateTemplateCostInput{ Parameters: []*cloudformation.Parameter{ { // Required ParameterKey: aws.String("ParameterKey"), ParameterValue: aws.String("ParameterValue"), UsePreviousValue: aws.Bool(true), }, // More values... }, TemplateBody: aws.String("TemplateBody"), TemplateURL: aws.String("TemplateURL"), } resp, err := svc.EstimateTemplateCost(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 resourceAwsAmiCopyCreate(d *schema.ResourceData, meta interface{}) error { client := meta.(*AWSClient).ec2conn req := &ec2.CopyImageInput{ Name: aws.String(d.Get("name").(string)), Description: aws.String(d.Get("description").(string)), SourceImageId: aws.String(d.Get("source_ami_id").(string)), SourceRegion: aws.String(d.Get("source_ami_region").(string)), } res, err := client.CopyImage(req) if err != nil { return err } id := *res.ImageId d.SetId(id) d.Partial(true) // make sure we record the id even if the rest of this gets interrupted d.Set("id", id) d.Set("manage_ebs_snapshots", true) d.SetPartial("id") d.SetPartial("manage_ebs_snapshots") d.Partial(false) _, err = resourceAwsAmiWaitForAvailable(id, client) if err != nil { return err } return resourceAwsAmiUpdate(d, meta) }