Documentation
¶
Index ¶
- Constants
- type CostAndUsageReportMapper
- type CostUsageReport
- type CostUsageReportTable
- func (t *CostUsageReportTable) EnrichRow(row *CostUsageReport, sourceEnrichmentFields schema.SourceEnrichment) (*CostUsageReport, error)
- func (t *CostUsageReportTable) GetDescription() string
- func (t *CostUsageReportTable) GetSourceMetadata() ([]*table.SourceMetadata[*CostUsageReport], error)
- func (t *CostUsageReportTable) Identifier() string
Constants ¶
View Source
const CostUsageReportTableIdentifier = "aws_cost_and_usage_report"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CostAndUsageReportMapper ¶ added in v0.9.1
type CostAndUsageReportMapper struct {
// contains filtered or unexported fields
}
func NewCostAndUsageReportMapper ¶ added in v0.9.1
func NewCostAndUsageReportMapper() *CostAndUsageReportMapper
func (*CostAndUsageReportMapper) Identifier ¶ added in v0.9.1
func (c *CostAndUsageReportMapper) Identifier() string
func (*CostAndUsageReportMapper) Map ¶ added in v0.9.1
func (c *CostAndUsageReportMapper) Map(_ context.Context, a any, opts ...mappers.MapOption[*CostUsageReport]) (*CostUsageReport, error)
func (*CostAndUsageReportMapper) OnHeader ¶ added in v0.9.1
func (c *CostAndUsageReportMapper) OnHeader(header []string)
OnHeader implementOnHeader so that when the collector is notified of a header row, we get notified
type CostUsageReport ¶
type CostUsageReport struct {
schema.CommonFields
BillBillingEntity *string `json:"bill_billing_entity,omitempty" parquet:"name=bill_billing_entity"`
BillBillingPeriodEndDate *time.Time `json:"bill_billing_period_end_date,omitempty" parquet:"name=bill_billing_period_end_date"`
BillBillingPeriodStartDate *time.Time `json:"bill_billing_period_start_date,omitempty" parquet:"name=bill_billing_period_start_date"`
BillBillType *string `json:"bill_bill_type,omitempty" parquet:"name=bill_bill_type"`
BillInvoiceId *string `json:"bill_invoice_id,omitempty" parquet:"name=bill_invoice_id"`
BillInvoicingEntity *string `json:"bill_invoicing_entity,omitempty" parquet:"name=bill_invoicing_entity"`
BillPayerAccountId *string `json:"bill_payer_account_id,omitempty" parquet:"name=bill_payer_account_id"`
BillPayerAccountName *string `json:"bill_payer_account_name,omitempty" parquet:"name=bill_payer_account_name"`
CostCategory *map[string]interface{} `json:"cost_category,omitempty" parquet:"name=cost_category"`
Discount *map[string]interface{} `json:"discount,omitempty" parquet:"name=discount"`
DiscountBundledDiscount *float64 `json:"discount_bundled_discount,omitempty" parquet:"name=discount_bundled_discount"`
DiscountTotalDiscount *float64 `json:"discount_total_discount,omitempty" parquet:"name=discount_total_discount"`
IdentityLineItemId *string `json:"identity_line_item_id,omitempty" parquet:"name=identity_line_item_id"`
IdentityTimeInterval *string `json:"identity_time_interval,omitempty" parquet:"name=identity_time_interval"`
LineItemAvailabilityZone *string `json:"line_item_availability_zone,omitempty" parquet:"name=line_item_availability_zone"`
LineItemBlendedCost *float64 `json:"line_item_blended_cost,omitempty" parquet:"name=line_item_blended_cost"`
LineItemBlendedRate *string `json:"line_item_blended_rate,omitempty" parquet:"name=line_item_blended_rate"`
LineItemCurrencyCode *string `json:"line_item_currency_code,omitempty" parquet:"name=line_item_currency_code"`
LineItemLegalEntity *string `json:"line_item_legal_entity,omitempty" parquet:"name=line_item_legal_entity"`
LineItemLineItemDescription *string `json:"line_item_line_item_description,omitempty" parquet:"name=line_item_line_item_description"`
LineItemLineItemType *string `json:"line_item_line_item_type,omitempty" parquet:"name=line_item_line_item_type"`
LineItemNetUnblendedCost *float64 `json:"line_item_net_unblended_cost,omitempty" parquet:"name=line_item_net_unblended_cost"`
LineItemNetUnblendedRate *string `json:"line_item_net_unblended_rate,omitempty" parquet:"name=line_item_net_unblended_rate"`
LineItemNormalizationFactor *float64 `json:"line_item_normalization_factor,omitempty" parquet:"name=line_item_normalization_factor"`
LineItemNormalizedUsageAmount *float64 `json:"line_item_normalized_usage_amount,omitempty" parquet:"name=line_item_normalized_usage_amount"`
LineItemOperation *string `json:"line_item_operation,omitempty" parquet:"name=line_item_operation"`
LineItemProductCode *string `json:"line_item_product_code,omitempty" parquet:"name=line_item_product_code"`
LineItemResourceId *string `json:"line_item_resource_id,omitempty" parquet:"name=line_item_resource_id"`
LineItemTaxType *string `json:"line_item_tax_type,omitempty" parquet:"name=line_item_tax_type"`
LineItemUnblendedCost *float64 `json:"line_item_unblended_cost,omitempty" parquet:"name=line_item_unblended_cost"`
LineItemUnblendedRate *string `json:"line_item_unblended_rate,omitempty" parquet:"name=line_item_unblended_rate"`
LineItemUsageAccountId *string `json:"line_item_usage_account_id,omitempty" parquet:"name=line_item_usage_account_id"`
LineItemUsageAccountName *string `json:"line_item_usage_account_name,omitempty" parquet:"name=line_item_usage_account_name"`
LineItemUsageAmount *float64 `json:"line_item_usage_amount,omitempty" parquet:"name=line_item_usage_amount"`
LineItemUsageEndDate *time.Time `json:"line_item_usage_end_date,omitempty" parquet:"name=line_item_usage_end_date"`
LineItemUsageStartDate *time.Time `json:"line_item_usage_start_date,omitempty" parquet:"name=line_item_usage_start_date"`
LineItemUsageType *string `json:"line_item_usage_type,omitempty" parquet:"name=line_item_usage_type"`
PricingCurrency *string `json:"pricing_currency,omitempty" parquet:"name=pricing_currency"`
PricingLeaseContractLength *string `json:"pricing_lease_contract_length,omitempty" parquet:"name=pricing_lease_contract_length"`
PricingOfferingClass *string `json:"pricing_offering_class,omitempty" parquet:"name=pricing_offering_class"`
PricingPublicOnDemandCost *float64 `json:"pricing_public_on_demand_cost,omitempty" parquet:"name=pricing_public_on_demand_cost"`
PricingPublicOnDemandRate *string `json:"pricing_public_on_demand_rate,omitempty" parquet:"name=pricing_public_on_demand_rate"`
PricingPurchaseOption *string `json:"pricing_purchase_option,omitempty" parquet:"name=pricing_purchase_option"`
PricingRateCode *string `json:"pricing_rate_code,omitempty" parquet:"name=pricing_rate_code"`
PricingRateId *string `json:"pricing_rate_id,omitempty" parquet:"name=pricing_rate_id"`
PricingTerm *string `json:"pricing_term,omitempty" parquet:"name=pricing_term"`
PricingUnit *string `json:"pricing_unit,omitempty" parquet:"name=pricing_unit"`
Product *map[string]interface{} `json:"product,omitempty" parquet:"name=product"`
ProductComment *string `json:"product_comment,omitempty" parquet:"name=product_comment"`
ProductFeeCode *string `json:"product_fee_code,omitempty" parquet:"name=product_fee_code"`
ProductFeeDescription *string `json:"product_fee_description,omitempty" parquet:"name=product_fee_description"`
ProductFromLocation *string `json:"product_from_location,omitempty" parquet:"name=product_from_location"`
ProductFromLocationType *string `json:"product_from_location_type,omitempty" parquet:"name=product_from_location_type"`
ProductFromRegionCode *string `json:"product_from_region_code,omitempty" parquet:"name=product_from_region_code"`
ProductInstanceSku *string `json:"product_instancesku,omitempty" parquet:"name=product_instance_sku"`
ProductInstanceFamily *string `json:"product_instance_family,omitempty" parquet:"name=product_instance_family"`
ProductInstanceType *string `json:"product_instance_type,omitempty" parquet:"name=product_instance_type"`
ProductLocation *string `json:"product_location,omitempty" parquet:"name=product_location"`
ProductLocationType *string `json:"product_location_type,omitempty" parquet:"name=product_location_type"`
ProductOperation *string `json:"product_operation,omitempty" parquet:"name=product_operation"`
ProductPricingUnit *string `json:"product_pricing_unit,omitempty" parquet:"name=product_pricing_unit"`
ProductProductFamily *string `json:"product_product_family,omitempty" parquet:"name=product_product_family"`
ProductRegionCode *string `json:"product_region_code,omitempty" parquet:"name=product_region_code"`
ProductSku *string `json:"product_sku,omitempty" parquet:"name=product_sku"`
ProductServiceCode *string `json:"product_servicecode,omitempty" parquet:"name=product_service_code"`
ProductToLocationType *string `json:"product_to_location_type,omitempty" parquet:"name=product_to_location_type"`
ProductToLocation *string `json:"product_to_location,omitempty" parquet:"name=product_to_location"`
ProductToRegionCode *string `json:"product_to_region_code,omitempty" parquet:"name=product_to_region_code"`
ProductUsageType *string `json:"product_usagetype,omitempty" parquet:"name=product_usage_type"`
Reservation *map[string]interface{} `json:"reservation,omitempty" parquet:"name=reservation"`
ReservationAmortizedUpfrontCostForUsage *float64 `json:"reservation_amortized_upfront_cost_for_usage,omitempty" parquet:"name=reservation_amortized_upfront_cost_for_usage"`
ReservationAmortizedUpfrontFeeForBillingPeriod *float64 `` /* 137-byte string literal not displayed */
ReservationArn *string `json:"reservation_reservation_arn,omitempty" parquet:"name=reservation_reservation_arn"`
ReservationAvailabilityZone *string `json:"reservation_availability_zone,omitempty" parquet:"name=reservation_availability_zone"`
ReservationEffectiveCost *float64 `json:"reservation_effective_cost,omitempty" parquet:"name=reservation_effective_cost"`
ReservationEndTime *string `json:"reservation_end_time,omitempty" parquet:"name=reservation_end_time"`
ReservationModificationStatus *string `json:"reservation_modification_status,omitempty" parquet:"name=reservation_modification_status"`
ReservationNetAmortizedUpfrontCostForUsage *float64 `` /* 129-byte string literal not displayed */
ReservationNetAmortizedUpfrontFeeForBillingPeriod *float64 `` /* 145-byte string literal not displayed */
ReservationNetEffectiveCost *float64 `json:"reservation_net_effective_cost,omitempty" parquet:"name=reservation_net_effective_cost"`
ReservationNetRecurringFeeForUsage *float64 `json:"reservation_net_recurring_fee_for_usage,omitempty" parquet:"name=reservation_net_recurring_fee_for_usage"`
ReservationNetUnusedAmortizedUpfrontFeeForBillingPeriod *float64 `` /* 159-byte string literal not displayed */
ReservationNetUnusedRecurringFee *float64 `json:"reservation_net_unused_recurring_fee,omitempty" parquet:"name=reservation_net_unused_recurring_fee"`
ReservationNetUpfrontValue *float64 `json:"reservation_net_upfront_value,omitempty" parquet:"name=reservation_net_upfront_value"`
ReservationNormalizedUnitsPerReservation *string `json:"reservation_normalized_units_per_reservation,omitempty" parquet:"name=reservation_normalized_units_per_reservation"`
ReservationNumberOfReservations *string `json:"reservation_number_of_reservations,omitempty" parquet:"name=reservation_number_of_reservations"`
ReservationRecurringFeeForUsage *float64 `json:"reservation_recurring_fee_for_usage,omitempty" parquet:"name=reservation_recurring_fee_for_usage"`
ReservationStartTime *time.Time `json:"reservation_start_time,omitempty" parquet:"name=reservation_start_time"`
ReservationSubscriptionId *string `json:"reservation_subscription_id,omitempty" parquet:"name=reservation_subscription_id"`
ReservationTotalReservedNormalizedUnits *string `json:"reservation_total_reserved_normalized_units,omitempty" parquet:"name=reservation_total_reserved_normalized_units"`
ReservationTotalReservedUnits *string `json:"reservation_total_reserved_units,omitempty" parquet:"name=reservation_total_reserved_units"`
ReservationUnitsPerReservation *string `json:"reservation_units_per_reservation,omitempty" parquet:"name=reservation_units_per_reservation"`
ReservationUnusedAmortizedUpfrontFeeForBillingPeriod *float64 `` /* 151-byte string literal not displayed */
ReservationUnusedNormalizedUnitQuantity *float64 `json:"reservation_unused_normalized_unit_quantity,omitempty" parquet:"name=reservation_unused_normalized_unit_quantity"`
ReservationUnusedQuantity *float64 `json:"reservation_unused_quantity,omitempty" parquet:"name=reservation_unused_quantity"`
ReservationUnusedRecurringFee *float64 `json:"reservation_unused_recurring_fee,omitempty" parquet:"name=reservation_unused_recurring_fee"`
ReservationUpfrontValue *int64 `json:"reservation_upfront_value,omitempty" parquet:"name=reservation_upfront_value"`
ResourceTags *map[string]interface{} `json:"resource_tags,omitempty" parquet:"name=resource_tags"`
SavingsPlanAmortizedUpfrontCommitmentForBillingPeriod *float64 `` /* 153-byte string literal not displayed */
SavingsPlanEndTime *time.Time `json:"savings_plan_end_time,omitempty" parquet:"name=savings_plan_end_time"`
SavingsPlanInstanceTypeFamily *string `json:"savings_plan_instance_type_family,omitempty" parquet:"name=savings_plan_instance_type_family"`
SavingsPlanNetAmortizedUpfrontCommitmentForBillingPeriod *float64 `` /* 161-byte string literal not displayed */
SavingsPlanNetRecurringCommitmentForBillingPeriod *float64 `` /* 145-byte string literal not displayed */
SavingsPlanNetSavingsPlanEffectiveCost *float64 `json:"savings_plan_net_savings_plan_effective_cost,omitempty" parquet:"name=savings_plan_net_savings_plan_effective_cost"`
SavingsPlanOfferingType *string `json:"savings_plan_offering_type,omitempty" parquet:"name=savings_plan_offering_type"`
SavingsPlanPaymentOption *string `json:"savings_plan_payment_option,omitempty" parquet:"name=savings_plan_payment_option"`
SavingsPlanPurchaseTerm *string `json:"savings_plan_purchase_term,omitempty" parquet:"name=savings_plan_purchase_term"`
SavingsPlanRecurringCommitmentForBillingPeriod *float64 `` /* 137-byte string literal not displayed */
SavingsPlanRegion *string `json:"savings_plan_region,omitempty" parquet:"name=savings_plan_region"`
SavingsPlanSavingsPlanARN *string `json:"savings_plan_savings_plan_arn,omitempty" parquet:"name=savings_plan_savings_plan_arn"`
SavingsPlanSavingsPlanEffectiveCost *float64 `json:"savings_plan_savings_plan_effective_cost,omitempty" parquet:"name=savings_plan_savings_plan_effective_cost"`
SavingsPlanSavingsPlanRate *string `json:"savings_plan_savings_plan_rate,omitempty" parquet:"name=savings_plan_savings_plan_rate"`
SavingsPlanStartTime *time.Time `json:"savings_plan_start_time,omitempty" parquet:"name=savings_plan_start_time"`
SavingsPlanTotalCommitmentToDate *string `json:"savings_plan_total_commitment_to_date,omitempty" parquet:"name=savings_plan_total_commitment_to_date"`
SavingsPlanUsedCommitment *string `json:"savings_plan_used_commitment,omitempty" parquet:"name=savings_plan_used_commitment"`
SplitLineItemActualUsage *float64 `json:"split_line_item_actual_usage,omitempty" parquet:"name=split_line_item_actual_usage"`
SplitLineItemNetSplitCost *float64 `json:"split_line_item_net_split_cost,omitempty" parquet:"name=split_line_item_net_split_cost"`
SplitLineItemNetUnusedCost *float64 `json:"split_line_item_net_unused_cost,omitempty" parquet:"name=split_line_item_net_unused_cost"`
SplitLineItemParentResourceId *string `json:"split_line_item_parent_resource_id,omitempty" parquet:"name=split_line_item_parent_resource_id"`
SplitLineItemPublicOnDemandSplitCost *float64 `json:"split_line_item_public_on_demand_split_cost,omitempty" parquet:"name=split_line_item_public_on_demand_split_cost"`
SplitLineItemPublicOnDemandUnusedCost *float64 `json:"split_line_item_public_on_demand_unused_cost,omitempty" parquet:"name=split_line_item_public_on_demand_unused_cost"`
SplitLineItemReservedUsage *float64 `json:"split_line_item_reserved_usage,omitempty" parquet:"name=split_line_item_reserved_usage"`
SplitLineItemSplitCost *float64 `json:"split_line_item_split_cost,omitempty" parquet:"name=split_line_item_split_cost"`
SplitLineItemSplitUsage *float64 `json:"split_line_item_split_usage,omitempty" parquet:"name=split_line_item_split_usage"`
SplitLineItemSplitUsageRatio *string `json:"split_line_item_split_usage_ratio,omitempty" parquet:"name=split_line_item_split_usage_ratio"`
SplitLineItemUnusedCost *float64 `json:"split_line_item_unused_cost,omitempty" parquet:"name=split_line_item_unused_cost"`
}
CUR 2.0 Schema: https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2.html
func NewCostUsageReport ¶ added in v0.9.1
func NewCostUsageReport() *CostUsageReport
func (*CostUsageReport) GetColumnDescriptions ¶
func (c *CostUsageReport) GetColumnDescriptions() map[string]string
type CostUsageReportTable ¶
type CostUsageReportTable struct{}
CostUsageReportTable - table for CostUsageReports
func (*CostUsageReportTable) EnrichRow ¶
func (t *CostUsageReportTable) EnrichRow(row *CostUsageReport, sourceEnrichmentFields schema.SourceEnrichment) (*CostUsageReport, error)
EnrichRow implements table.Table
func (*CostUsageReportTable) GetDescription ¶
func (t *CostUsageReportTable) GetDescription() string
func (*CostUsageReportTable) GetSourceMetadata ¶
func (t *CostUsageReportTable) GetSourceMetadata() ([]*table.SourceMetadata[*CostUsageReport], error)
func (*CostUsageReportTable) Identifier ¶
func (t *CostUsageReportTable) Identifier() string
Identifier implements table.Table
Click to show internal directories.
Click to hide internal directories.