package awscdkkinesisfirehosealpha import ( _jsii_ "github.com/aws/jsii-runtime-go/runtime" "github.com/aws/aws-cdk-go/awscdk/v2" "github.com/aws/aws-cdk-go/awscdk/v2/awscloudwatch" "github.com/aws/aws-cdk-go/awscdk/v2/awsec2" "github.com/aws/aws-cdk-go/awscdk/v2/awsiam" "github.com/aws/aws-cdk-go/awscdkkinesisfirehosealpha/v2/internal" "github.com/aws/constructs-go/constructs/v10" ) // Represents a Kinesis Data Firehose delivery stream. // Experimental. type IDeliveryStream interface { awsec2.IConnectable awsiam.IGrantable awscdk.IResource // Grant the `grantee` identity permissions to perform `actions`. // Experimental. Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant // Grant the `grantee` identity permissions to perform `firehose:PutRecord` and `firehose:PutRecordBatch` actions on this delivery stream. // Experimental. GrantPutRecords(grantee awsiam.IGrantable) awsiam.Grant // Return the given named metric for this delivery stream. // Experimental. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the number of bytes delivered to Amazon S3 for backup over the specified time period. // // By default, this metric will be calculated as an average over a period of 5 minutes. // Experimental. MetricBackupToS3Bytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the age (from getting into Kinesis Data Firehose to now) of the oldest record in Kinesis Data Firehose. // // Any record older than this age has been delivered to the Amazon S3 bucket for backup. // // By default, this metric will be calculated as an average over a period of 5 minutes. // Experimental. MetricBackupToS3DataFreshness(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the number of records delivered to Amazon S3 for backup over the specified time period. // // By default, this metric will be calculated as an average over a period of 5 minutes. // Experimental. MetricBackupToS3Records(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the number of bytes ingested successfully into the delivery stream over the specified time period after throttling. // // By default, this metric will be calculated as an average over a period of 5 minutes. // Experimental. MetricIncomingBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the number of records ingested successfully into the delivery stream over the specified time period after throttling. // // By default, this metric will be calculated as an average over a period of 5 minutes. // Experimental. MetricIncomingRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The ARN of the delivery stream. // Experimental. DeliveryStreamArn() *string // The name of the delivery stream. // Experimental. DeliveryStreamName() *string } // The jsii proxy for IDeliveryStream type jsiiProxy_IDeliveryStream struct { internal.Type__awsec2IConnectable internal.Type__awsiamIGrantable internal.Type__awscdkIResource } func (i *jsiiProxy_IDeliveryStream) Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant { if err := i.validateGrantParameters(grantee); err != nil { panic(err) } args := []interface{}{grantee} for _, a := range actions { args = append(args, a) } var returns awsiam.Grant _jsii_.Invoke( i, "grant", args, &returns, ) return returns } func (i *jsiiProxy_IDeliveryStream) GrantPutRecords(grantee awsiam.IGrantable) awsiam.Grant { if err := i.validateGrantPutRecordsParameters(grantee); err != nil { panic(err) } var returns awsiam.Grant _jsii_.Invoke( i, "grantPutRecords", []interface{}{grantee}, &returns, ) return returns } func (i *jsiiProxy_IDeliveryStream) Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric { if err := i.validateMetricParameters(metricName, props); err != nil { panic(err) } var returns awscloudwatch.Metric _jsii_.Invoke( i, "metric", []interface{}{metricName, props}, &returns, ) return returns } func (i *jsiiProxy_IDeliveryStream) MetricBackupToS3Bytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric { if err := i.validateMetricBackupToS3BytesParameters(props); err != nil { panic(err) } var returns awscloudwatch.Metric _jsii_.Invoke( i, "metricBackupToS3Bytes", []interface{}{props}, &returns, ) return returns } func (i *jsiiProxy_IDeliveryStream) MetricBackupToS3DataFreshness(props *awscloudwatch.MetricOptions) awscloudwatch.Metric { if err := i.validateMetricBackupToS3DataFreshnessParameters(props); err != nil { panic(err) } var returns awscloudwatch.Metric _jsii_.Invoke( i, "metricBackupToS3DataFreshness", []interface{}{props}, &returns, ) return returns } func (i *jsiiProxy_IDeliveryStream) MetricBackupToS3Records(props *awscloudwatch.MetricOptions) awscloudwatch.Metric { if err := i.validateMetricBackupToS3RecordsParameters(props); err != nil { panic(err) } var returns awscloudwatch.Metric _jsii_.Invoke( i, "metricBackupToS3Records", []interface{}{props}, &returns, ) return returns } func (i *jsiiProxy_IDeliveryStream) MetricIncomingBytes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric { if err := i.validateMetricIncomingBytesParameters(props); err != nil { panic(err) } var returns awscloudwatch.Metric _jsii_.Invoke( i, "metricIncomingBytes", []interface{}{props}, &returns, ) return returns } func (i *jsiiProxy_IDeliveryStream) MetricIncomingRecords(props *awscloudwatch.MetricOptions) awscloudwatch.Metric { if err := i.validateMetricIncomingRecordsParameters(props); err != nil { panic(err) } var returns awscloudwatch.Metric _jsii_.Invoke( i, "metricIncomingRecords", []interface{}{props}, &returns, ) return returns } func (i *jsiiProxy_IDeliveryStream) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) { if err := i.validateApplyRemovalPolicyParameters(policy); err != nil { panic(err) } _jsii_.InvokeVoid( i, "applyRemovalPolicy", []interface{}{policy}, ) } func (j *jsiiProxy_IDeliveryStream) DeliveryStreamArn() *string { var returns *string _jsii_.Get( j, "deliveryStreamArn", &returns, ) return returns } func (j *jsiiProxy_IDeliveryStream) DeliveryStreamName() *string { var returns *string _jsii_.Get( j, "deliveryStreamName", &returns, ) return returns } func (j *jsiiProxy_IDeliveryStream) Connections() awsec2.Connections { var returns awsec2.Connections _jsii_.Get( j, "connections", &returns, ) return returns } func (j *jsiiProxy_IDeliveryStream) Env() *awscdk.ResourceEnvironment { var returns *awscdk.ResourceEnvironment _jsii_.Get( j, "env", &returns, ) return returns } func (j *jsiiProxy_IDeliveryStream) GrantPrincipal() awsiam.IPrincipal { var returns awsiam.IPrincipal _jsii_.Get( j, "grantPrincipal", &returns, ) return returns } func (j *jsiiProxy_IDeliveryStream) Node() constructs.Node { var returns constructs.Node _jsii_.Get( j, "node", &returns, ) return returns } func (j *jsiiProxy_IDeliveryStream) Stack() awscdk.Stack { var returns awscdk.Stack _jsii_.Get( j, "stack", &returns, ) return returns }