package awsautoscalinghooktargets import ( _init_ "github.com/aws/aws-cdk-go/awscdk/v2/jsii" _jsii_ "github.com/aws/jsii-runtime-go/runtime" "github.com/aws/aws-cdk-go/awscdk/v2/awsautoscaling" "github.com/aws/aws-cdk-go/awscdk/v2/awsautoscalinghooktargets/internal" "github.com/aws/aws-cdk-go/awscdk/v2/awssqs" "github.com/aws/constructs-go/constructs/v10" ) // Use an SQS queue as a hook target. // // Example: // // The code below shows an example of how to instantiate this type. // // The values are placeholders you should change. // import "github.com/aws/aws-cdk-go/awscdk" // import "github.com/aws/aws-cdk-go/awscdk" // // var queue queue // // queueHook := awscdk.Aws_autoscaling_hooktargets.NewQueueHook(queue) // type QueueHook interface { awsautoscaling.ILifecycleHookTarget // If an `IRole` is found in `options`, grant it access to send messages. // // Otherwise, create a new `IRole` and grant it access to send messages. // // Returns: the `IRole` with access to send messages and the ARN of the queue it has access to send messages to. Bind(_scope constructs.Construct, options *awsautoscaling.BindHookTargetOptions) *awsautoscaling.LifecycleHookTargetConfig } // The jsii proxy struct for QueueHook type jsiiProxy_QueueHook struct { internal.Type__awsautoscalingILifecycleHookTarget } func NewQueueHook(queue awssqs.IQueue) QueueHook { _init_.Initialize() if err := validateNewQueueHookParameters(queue); err != nil { panic(err) } j := jsiiProxy_QueueHook{} _jsii_.Create( "aws-cdk-lib.aws_autoscaling_hooktargets.QueueHook", []interface{}{queue}, &j, ) return &j } func NewQueueHook_Override(q QueueHook, queue awssqs.IQueue) { _init_.Initialize() _jsii_.Create( "aws-cdk-lib.aws_autoscaling_hooktargets.QueueHook", []interface{}{queue}, q, ) } func (q *jsiiProxy_QueueHook) Bind(_scope constructs.Construct, options *awsautoscaling.BindHookTargetOptions) *awsautoscaling.LifecycleHookTargetConfig { if err := q.validateBindParameters(_scope, options); err != nil { panic(err) } var returns *awsautoscaling.LifecycleHookTargetConfig _jsii_.Invoke( q, "bind", []interface{}{_scope, options}, &returns, ) return returns }