EC2 / Client / create_networking_flex_cost_allocation_policy

create_networking_flex_cost_allocation_policy

EC2.Client.create_networking_flex_cost_allocation_policy(**kwargs)

Creates a flex cost allocation policy for Networking Flexible Cost Allocation (FCA), a feature of Amazon Virtual Private Cloud (Amazon VPC). The policy allocates the charges of a shared networking resource at the reporting granularity that you specify. You can create a policy for one of the following resource types: NAT gateways, Amazon VPC peering connections, or EC2 instances. Policies can allocate data transfer charges for all three types, and data processing charges for NAT gateways.

You can have up to 100 policies per account in each Amazon Web Services Region, plus one additional policy per network resource type created by a declarative policy, for a maximum of 103 policies in an Amazon Web Services Region.

See also: AWS API Documentation

Request Syntax

response = client.create_networking_flex_cost_allocation_policy(
    NetworkResourceType='natgw'|'pcx'|'ec2',
    NatFcaPolicyDocument={
        'ReportingGranularity': [
            'eni'|'ec2'|'subnet'|'vpc'|'account'|'peering-id'|'cidr',
        ],
        'Dimensions': [
            'data-transfer'|'data-processing',
        ],
        'CidrRangeSpecifications': {
            'PrefixesType': 'string',
            'Prefixes': [
                {
                    'CidrRange': 'string',
                    'CidrLabel': 'string'
                },
            ]
        }
    },
    InstanceFcaPolicyDocument={
        'ReportingGranularity': [
            'eni'|'ec2'|'subnet'|'vpc'|'account'|'peering-id'|'cidr',
        ],
        'Dimensions': [
            'data-transfer'|'data-processing',
        ],
        'CidrRangeSpecifications': {
            'PrefixesType': 'string',
            'Prefixes': [
                {
                    'CidrRange': 'string',
                    'CidrLabel': 'string'
                },
            ]
        }
    },
    PcxFcaPolicyDocument={
        'ReportingGranularity': [
            'eni'|'ec2'|'subnet'|'vpc'|'account'|'peering-id'|'cidr',
        ],
        'Dimensions': [
            'data-transfer'|'data-processing',
        ],
        'CidrRangeSpecifications': {
            'PrefixesType': 'string',
            'Prefixes': [
                {
                    'CidrRange': 'string',
                    'CidrLabel': 'string'
                },
            ]
        }
    },
    ShowBackEnabled=True|False,
    Description='string',
    TagSpecifications=[
        {
            'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'declarative-policies-report'|'dedicated-host'|'dhcp-options'|'egress-only-internet-gateway'|'elastic-ip'|'elastic-gpu'|'export-image-task'|'export-instance-task'|'fca-policy'|'fleet'|'fpga-image'|'host-reservation'|'image'|'image-usage-report'|'import-image-task'|'import-snapshot-task'|'instance'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'outpost-lag'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'service-link-virtual-interface'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-metering-policy'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'vpc-encryption-control'|'route-server'|'route-server-endpoint'|'route-server-peer'|'ipam-resource-discovery'|'ipam-resource-discovery-association'|'instance-connect-endpoint'|'verified-access-endpoint-target'|'ipam-external-resource-verification-token'|'capacity-block'|'mac-modification-task'|'ipam-prefix-list-resolver'|'ipam-policy'|'ipam-prefix-list-resolver-target'|'ipam-internet-registry-association'|'secondary-interface'|'secondary-network'|'secondary-subnet'|'capacity-manager-data-export'|'vpn-concentrator'|'ipam-pool-allocation'|'capacity-reservation-cancellation-quote'|'application-status-check'|'capacity-reservation-modification-quote'|'metric-category',
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ]
        },
    ],
    ClientToken='string',
    DryRun=True|False
)
Parameters:
  • NetworkResourceType (string) –

    [REQUIRED]

    The type of network resource that the policy applies to. This parameter is required. Valid values are natgw (NAT gateway), pcx (Amazon VPC peering connection), and ec2 (EC2 instance).

    Specify the policy document that matches the resource type: NatFcaPolicyDocument for natgw, InstanceFcaPolicyDocument for ec2, or PcxFcaPolicyDocument for pcx. Don’t specify a policy document for a different resource type.

  • NatFcaPolicyDocument (dict) –

    The policy document that defines cost allocation for NAT gateways. Provide this document when NetworkResourceType is natgw.

    • ReportingGranularity (list) – [REQUIRED]

      The resource granularity level at which networking costs are allocated. This parameter is required. Specify exactly one value. Valid values are eni, ec2, subnet, vpc, account, and cidr.

      • (string) –

        The resource granularity level at which networking costs are allocated. Valid values are eni, ec2, subnet, vpc, account, peering-id, and cidr.

        Which values you can use depends on the policy document. peering-id is valid only in a PcxFcaPolicyDocument.

    • Dimensions (list) – [REQUIRED]

      The cost dimensions to report. This parameter is required. Valid values are data-transfer and data-processing.

      • (string) –

        A cost dimension used for allocation. Valid values are data-transfer and data-processing. data-processing is valid only in a NatFcaPolicyDocument.

    • CidrRangeSpecifications (dict) –

      The CIDR range mappings to use for cost allocation. Specify this value when ReportingGranularity is cidr, and omit it otherwise.

      • PrefixesType (string) – [REQUIRED]

        The type of prefixes to use. This parameter is required. Valid values are source-prefixes and destination-prefixes.

      • Prefixes (list) – [REQUIRED]

        The CIDR range to label mappings. You can specify from 1 to 100 mappings. This parameter is required.

        • (dict) –

          Maps a CIDR range to a label for cost allocation reporting.

          • CidrRange (string) – [REQUIRED]

            The CIDR range. This parameter is required.

          • CidrLabel (string) – [REQUIRED]

            The label to assign to the CIDR range. The label can be up to 64 characters long. It can contain letters, numbers, hyphens ( -), and underscores ( _), and must start with a letter or a number. This parameter is required.

  • InstanceFcaPolicyDocument (dict) –

    The policy document that defines cost allocation for EC2 instances. Provide this document when NetworkResourceType is ec2.

    • ReportingGranularity (list) – [REQUIRED]

      The resource granularity level at which networking costs are allocated. This parameter is required. Specify exactly one value. Valid values are eni, ec2, subnet, vpc, account, and cidr.

      • (string) –

        The resource granularity level at which networking costs are allocated. Valid values are eni, ec2, subnet, vpc, account, peering-id, and cidr.

        Which values you can use depends on the policy document. peering-id is valid only in a PcxFcaPolicyDocument.

    • Dimensions (list) – [REQUIRED]

      The cost dimensions to report. This parameter is required. The only valid value is data-transfer.

      • (string) –

        A cost dimension used for allocation. Valid values are data-transfer and data-processing. data-processing is valid only in a NatFcaPolicyDocument.

    • CidrRangeSpecifications (dict) –

      The CIDR range mappings to use for cost allocation. Specify this value when ReportingGranularity is cidr, and omit it otherwise.

      • PrefixesType (string) – [REQUIRED]

        The type of prefixes to use. This parameter is required. Valid values are source-prefixes and destination-prefixes.

      • Prefixes (list) – [REQUIRED]

        The CIDR range to label mappings. You can specify from 1 to 100 mappings. This parameter is required.

        • (dict) –

          Maps a CIDR range to a label for cost allocation reporting.

          • CidrRange (string) – [REQUIRED]

            The CIDR range. This parameter is required.

          • CidrLabel (string) – [REQUIRED]

            The label to assign to the CIDR range. The label can be up to 64 characters long. It can contain letters, numbers, hyphens ( -), and underscores ( _), and must start with a letter or a number. This parameter is required.

  • PcxFcaPolicyDocument (dict) –

    The policy document that defines cost allocation for Amazon VPC peering connections. Provide this document when NetworkResourceType is pcx.

    • ReportingGranularity (list) – [REQUIRED]

      The resource granularity level at which networking costs are allocated. This parameter is required. Specify exactly one value. Valid values are eni, ec2, subnet, vpc, account, peering-id, and cidr.

      • (string) –

        The resource granularity level at which networking costs are allocated. Valid values are eni, ec2, subnet, vpc, account, peering-id, and cidr.

        Which values you can use depends on the policy document. peering-id is valid only in a PcxFcaPolicyDocument.

    • Dimensions (list) – [REQUIRED]

      The cost dimensions to report. This parameter is required. The only valid value is data-transfer.

      • (string) –

        A cost dimension used for allocation. Valid values are data-transfer and data-processing. data-processing is valid only in a NatFcaPolicyDocument.

    • CidrRangeSpecifications (dict) –

      The CIDR range mappings to use for cost allocation. Specify this value when ReportingGranularity is cidr, and omit it otherwise.

      • PrefixesType (string) – [REQUIRED]

        The type of prefixes to use. This parameter is required. Valid values are source-prefixes and destination-prefixes.

      • Prefixes (list) – [REQUIRED]

        The CIDR range to label mappings. You can specify from 1 to 100 mappings. This parameter is required.

        • (dict) –

          Maps a CIDR range to a label for cost allocation reporting.

          • CidrRange (string) – [REQUIRED]

            The CIDR range. This parameter is required.

          • CidrLabel (string) – [REQUIRED]

            The label to assign to the CIDR range. The label can be up to 64 characters long. It can contain letters, numbers, hyphens ( -), and underscores ( _), and must start with a letter or a number. This parameter is required.

  • ShowBackEnabled (boolean) –

    Specifies whether showback reporting is enabled for the policy.

    Default: true

  • Description (string) – A description for the policy. The description can be up to 1024 characters long.

  • TagSpecifications (list) –

    The tags to assign to the policy.

    • (dict) –

      The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.

      Note

      The Valid Values lists all the resource types that can be tagged. However, the action you’re using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you’re using, you’ll get an error.

      • ResourceType (string) –

        The type of resource to tag on creation.

      • Tags (list) –

        The tags to apply to the resource.

        • (dict) –

          Describes a tag.

          • Key (string) –

            The key of the tag.

            Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

          • Value (string) –

            The value of the tag.

            Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

  • ClientToken (string) –

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

    This field is autopopulated if not provided.

  • DryRun (boolean) – Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Return type:

dict

Returns:

Response Syntax

{
    'FcaPolicyId': 'string',
    'FcaPolicyArn': 'string',
    'CreatedAt': datetime(2015, 1, 1),
    'ExpectedEffectiveAt': datetime(2015, 1, 1)
}

Response Structure

  • (dict) –

    • FcaPolicyId (string) –

      The ID of the flex cost allocation policy.

    • FcaPolicyArn (string) –

      The Amazon Resource Name (ARN) of the flex cost allocation policy.

    • CreatedAt (datetime) –

      The date and time when the policy was created.

    • ExpectedEffectiveAt (datetime) –

      The date and time when the policy is expected to apply to network traffic.