Skip to content
v2.277.0

CfnCapacityProviderProps Struct ​

Properties for defining a CfnCapacityProvider.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_lambda as lambda } from 'aws-cdk-lib';
const cfnCapacityProviderProps: lambda.CfnCapacityProviderProps = {
  permissionsConfig: {
    capacityProviderOperatorRoleArn: 'capacityProviderOperatorRoleArn',
  },
  vpcConfig: {
    securityGroupIds: ['securityGroupIds'],
    subnetIds: ['subnetIds'],
  },

  // the properties below are optional
  capacityProviderName: 'capacityProviderName',
  capacityProviderScalingConfig: {
    maxVCpuCount: 123,
    scalingMode: 'scalingMode',
    scalingPolicies: [{
      predefinedMetricType: 'predefinedMetricType',
      targetValue: 123,
    }],
  },
  instanceRequirements: {
    allowedInstanceTypes: ['allowedInstanceTypes'],
    architectures: ['architectures'],
    excludedInstanceTypes: ['excludedInstanceTypes'],
  },
  kmsKeyArn: 'kmsKeyArn',
  propagateTags: {
    explicitTags: [{
      key: 'key',
      value: 'value',
    }],
    mode: 'mode',
  },
  tags: [{
    key: 'key',
    value: 'value',
  }],
  telemetryConfig: {
    loggingConfig: {
      logGroup: 'logGroup',
      systemLogLevel: 'systemLogLevel',
    },
  },
};
python
from aws_cdk import CfnTag, CfnTag
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_lambda as lambda_

cfn_capacity_provider_props = lambda.CfnCapacityProviderProps(
    permissions_config=lambda.CfnCapacityProvider.CapacityProviderPermissionsConfigProperty(
        capacity_provider_operator_role_arn="capacityProviderOperatorRoleArn"
    ),
    vpc_config=lambda.CfnCapacityProvider.CapacityProviderVpcConfigProperty(
        security_group_ids=["securityGroupIds"],
        subnet_ids=["subnetIds"]
    ),

    # the properties below are optional
    capacity_provider_name="capacityProviderName",
    capacity_provider_scaling_config=lambda.CfnCapacityProvider.CapacityProviderScalingConfigProperty(
        max_v_cpu_count=123,
        scaling_mode="scalingMode",
        scaling_policies=[lambda.CfnCapacityProvider.TargetTrackingScalingPolicyProperty(
            predefined_metric_type="predefinedMetricType",
            target_value=123
        )]
    ),
    instance_requirements=lambda.CfnCapacityProvider.InstanceRequirementsProperty(
        allowed_instance_types=["allowedInstanceTypes"],
        architectures=["architectures"],
        excluded_instance_types=["excludedInstanceTypes"]
    ),
    kms_key_arn="kmsKeyArn",
    propagate_tags=lambda.CfnCapacityProvider.PropagateTagsConfigProperty(
        explicit_tags=[CfnTag(
            key="key",
            value="value"
        )],
        mode="mode"
    ),
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    telemetry_config=lambda.CfnCapacityProvider.CapacityProviderTelemetryConfigProperty(
        logging_config=lambda.CfnCapacityProvider.CapacityProviderLoggingConfigProperty(
            log_group="logGroup",
            system_log_level="systemLogLevel"
        )
    )
)
java
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.lambda.*;

CfnCapacityProviderProps cfnCapacityProviderProps = CfnCapacityProviderProps.builder()
        .permissionsConfig(CapacityProviderPermissionsConfigProperty.builder()
                .capacityProviderOperatorRoleArn("capacityProviderOperatorRoleArn")
                .build())
        .vpcConfig(CapacityProviderVpcConfigProperty.builder()
                .securityGroupIds(List.of("securityGroupIds"))
                .subnetIds(List.of("subnetIds"))
                .build())

        // the properties below are optional
        .capacityProviderName("capacityProviderName")
        .capacityProviderScalingConfig(CapacityProviderScalingConfigProperty.builder()
                .maxVCpuCount(123)
                .scalingMode("scalingMode")
                .scalingPolicies(List.of(TargetTrackingScalingPolicyProperty.builder()
                        .predefinedMetricType("predefinedMetricType")
                        .targetValue(123)
                        .build()))
                .build())
        .instanceRequirements(InstanceRequirementsProperty.builder()
                .allowedInstanceTypes(List.of("allowedInstanceTypes"))
                .architectures(List.of("architectures"))
                .excludedInstanceTypes(List.of("excludedInstanceTypes"))
                .build())
        .kmsKeyArn("kmsKeyArn")
        .propagateTags(PropagateTagsConfigProperty.builder()
                .explicitTags(List.of(CfnTag.builder()
                        .key("key")
                        .value("value")
                        .build()))
                .mode("mode")
                .build())
        .tags(List.of(CfnTag.builder()
                .key("key")
                .value("value")
                .build()))
        .telemetryConfig(CapacityProviderTelemetryConfigProperty.builder()
                .loggingConfig(CapacityProviderLoggingConfigProperty.builder()
                        .logGroup("logGroup")
                        .systemLogLevel("systemLogLevel")
                        .build())
                .build())
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.Lambda;

var cfnCapacityProviderProps = new CfnCapacityProviderProps {
    PermissionsConfig = new CapacityProviderPermissionsConfigProperty {
        CapacityProviderOperatorRoleArn = "capacityProviderOperatorRoleArn"
    },
    VpcConfig = new CapacityProviderVpcConfigProperty {
        SecurityGroupIds = new [] { "securityGroupIds" },
        SubnetIds = new [] { "subnetIds" }
    },

    // the properties below are optional
    CapacityProviderName = "capacityProviderName",
    CapacityProviderScalingConfig = new CapacityProviderScalingConfigProperty {
        MaxVCpuCount = 123,
        ScalingMode = "scalingMode",
        ScalingPolicies = new [] { new TargetTrackingScalingPolicyProperty {
            PredefinedMetricType = "predefinedMetricType",
            TargetValue = 123
        } }
    },
    InstanceRequirements = new InstanceRequirementsProperty {
        AllowedInstanceTypes = new [] { "allowedInstanceTypes" },
        Architectures = new [] { "architectures" },
        ExcludedInstanceTypes = new [] { "excludedInstanceTypes" }
    },
    KmsKeyArn = "kmsKeyArn",
    PropagateTags = new PropagateTagsConfigProperty {
        ExplicitTags = new [] { new CfnTag {
            Key = "key",
            Value = "value"
        } },
        Mode = "mode"
    },
    Tags = new [] { new CfnTag {
        Key = "key",
        Value = "value"
    } },
    TelemetryConfig = new CapacityProviderTelemetryConfigProperty {
        LoggingConfig = new CapacityProviderLoggingConfigProperty {
            LogGroup = "logGroup",
            SystemLogLevel = "systemLogLevel"
        }
    }
};
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// 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"

cfnCapacityProviderProps := &CfnCapacityProviderProps{
	PermissionsConfig: &CapacityProviderPermissionsConfigProperty{
		CapacityProviderOperatorRoleArn: jsii.String("capacityProviderOperatorRoleArn"),
	},
	VpcConfig: &CapacityProviderVpcConfigProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		SubnetIds: []*string{
			jsii.String("subnetIds"),
		},
	},

	// the properties below are optional
	CapacityProviderName: jsii.String("capacityProviderName"),
	CapacityProviderScalingConfig: &CapacityProviderScalingConfigProperty{
		MaxVCpuCount: jsii.Number(123),
		ScalingMode: jsii.String("scalingMode"),
		ScalingPolicies: []interface{}{
			&TargetTrackingScalingPolicyProperty{
				PredefinedMetricType: jsii.String("predefinedMetricType"),
				TargetValue: jsii.Number(123),
			},
		},
	},
	InstanceRequirements: &InstanceRequirementsProperty{
		AllowedInstanceTypes: []*string{
			jsii.String("allowedInstanceTypes"),
		},
		Architectures: []*string{
			jsii.String("architectures"),
		},
		ExcludedInstanceTypes: []*string{
			jsii.String("excludedInstanceTypes"),
		},
	},
	KmsKeyArn: jsii.String("kmsKeyArn"),
	PropagateTags: &PropagateTagsConfigProperty{
		ExplicitTags: []interface{}{
			&CfnTag{
				Key: jsii.String("key"),
				Value: jsii.String("value"),
			},
		},
		Mode: jsii.String("mode"),
	},
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	TelemetryConfig: &CapacityProviderTelemetryConfigProperty{
		LoggingConfig: &CapacityProviderLoggingConfigProperty{
			LogGroup: jsii.String("logGroup"),
			SystemLogLevel: jsii.String("systemLogLevel"),
		},
	},
}

Properties ​

capacityProviderNameoptionalstringcapacity_provider_nameoptionalstrcapacityProviderNameoptionalStringCapacityProviderNameoptionalstringCapacityProviderNameoptional*string#
capacityProviderScalingConfigoptionalIResolvable | CfnCapacityProvider.CapacityProviderScalingConfigPropertycapacity_provider_scaling_configoptionaltyping.Union[IResolvable, CapacityProviderScalingConfigProperty]capacityProviderScalingConfigoptionalIResolvableCapacityProviderScalingConfigoptionalIResolvableCapacityProviderScalingConfigoptionalinterface{}#
The scaling configuration for the capacity provider.
instanceRequirementsoptionalIResolvable | CfnCapacityProvider.InstanceRequirementsPropertyinstance_requirementsoptionaltyping.Union[IResolvable, InstanceRequirementsProperty]instanceRequirementsoptionalIResolvableInstanceRequirementsoptionalIResolvableInstanceRequirementsoptionalinterface{}#
The instance requirements for compute resources managed by the capacity provider.
kmsKeyArnoptionalstringkms_key_arnoptionalstrkmsKeyArnoptionalStringKmsKeyArnoptionalstringKmsKeyArnoptional*string#
The ARN of the KMS key used to encrypt the capacity provider's resources.
permissionsConfigIResolvable | CfnCapacityProvider.CapacityProviderPermissionsConfigPropertypermissions_configtyping.Union[IResolvable, CapacityProviderPermissionsConfigProperty]permissionsConfigIResolvablePermissionsConfigIResolvablePermissionsConfiginterface{}required#
The permissions configuration for the capacity provider.
propagateTagsoptionalIResolvable | CfnCapacityProvider.PropagateTagsConfigPropertypropagate_tagsoptionaltyping.Union[IResolvable, PropagateTagsConfigProperty]propagateTagsoptionalIResolvablePropagateTagsoptionalIResolvablePropagateTagsoptionalinterface{}#
Configuration that defines how tags are propagated to managed resources.
tagsoptionalCfnTag[]tagsoptionaltyping.List[CfnTag]tagsoptionalList<CfnTag>TagsoptionalCfnTag[]Tagsoptional*[]CfnTag#
A key-value pair that provides metadata for the capacity provider.
telemetryConfigoptionalIResolvable | CfnCapacityProvider.CapacityProviderTelemetryConfigPropertytelemetry_configoptionaltyping.Union[IResolvable, CapacityProviderTelemetryConfigProperty]telemetryConfigoptionalIResolvableTelemetryConfigoptionalIResolvableTelemetryConfigoptionalinterface{}#
Configuration that specifies the telemetry collection for the capacity provider.
The VPC configuration for the capacity provider.