Class ManagedInstancesCapacityProviderProps.Jsii$Proxy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.ecs.ManagedInstancesCapacityProviderProps.Jsii$Proxy
All Implemented Interfaces:
ManagedInstancesCapacityProviderProps, software.amazon.jsii.JsiiSerializable
Enclosing interface:
ManagedInstancesCapacityProviderProps

@Stability(Stable) @Internal public static final class ManagedInstancesCapacityProviderProps.Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ManagedInstancesCapacityProviderProps
  • Constructor Details

  • Method Details

    • getEc2InstanceProfile

      public final IInstanceProfile getEc2InstanceProfile()
      Description copied from interface: ManagedInstancesCapacityProviderProps
      The EC2 instance profile that will be attached to instances launched by this capacity provider.

      This instance profile must contain the necessary IAM permissions for ECS container instances to register with the cluster and run tasks. At minimum, it should include permissions for ECS agent communication, ECR image pulling, and CloudWatch logging.

      Specified by:
      getEc2InstanceProfile in interface ManagedInstancesCapacityProviderProps
    • getSubnets

      public final List<ISubnet> getSubnets()
      Description copied from interface: ManagedInstancesCapacityProviderProps
      The VPC subnets where EC2 instances will be launched.

      This array must be non-empty and should contain subnets from the VPC where you want the managed instances to be deployed.

      Specified by:
      getSubnets in interface ManagedInstancesCapacityProviderProps
    • getCapacityProviderName

      public final String getCapacityProviderName()
      Description copied from interface: ManagedInstancesCapacityProviderProps
      The name of the capacity provider.

      If a name is specified, it cannot start with aws, ecs, or fargate. If no name is specified, a default name in the CFNStackName-CFNResourceName-RandomString format is used. If the stack name starts with aws, ecs, or fargate, a unique resource name is generated that starts with cp-.

      Default: CloudFormation-generated name

      Specified by:
      getCapacityProviderName in interface ManagedInstancesCapacityProviderProps
    • getInfrastructureRole

      public final IRole getInfrastructureRole()
      Description copied from interface: ManagedInstancesCapacityProviderProps
      The IAM role that ECS uses to manage the infrastructure for the capacity provider.

      This role is used by ECS to perform actions such as launching and terminating instances, managing Auto Scaling Groups, and other infrastructure operations required for the managed instances capacity provider.

      Default: - A new role will be created with the AmazonECSInfrastructureRolePolicyForManagedInstances managed policy

      Specified by:
      getInfrastructureRole in interface ManagedInstancesCapacityProviderProps
    • getInstanceRequirements

      public final InstanceRequirementsConfig getInstanceRequirements()
      Description copied from interface: ManagedInstancesCapacityProviderProps
      The instance requirements configuration for EC2 instance selection.

      This allows you to specify detailed requirements for instance selection including vCPU count ranges, memory ranges, CPU manufacturers (Intel, AMD, AWS Graviton), instance generations, network performance requirements, and many other criteria. ECS will automatically select appropriate instance types that meet these requirements.

      Default: - no specific instance requirements, ECS will choose appropriate instances

      Specified by:
      getInstanceRequirements in interface ManagedInstancesCapacityProviderProps
    • getMonitoring

      public final InstanceMonitoring getMonitoring()
      Description copied from interface: ManagedInstancesCapacityProviderProps
      The CloudWatch monitoring configuration for the EC2 instances.

      Determines the granularity of CloudWatch metrics collection for the instances. Detailed monitoring incurs additional costs but provides better observability.

      Default: - no enhanced monitoring (basic monitoring only)

      Specified by:
      getMonitoring in interface ManagedInstancesCapacityProviderProps
    • getPropagateTags

      public final PropagateManagedInstancesTags getPropagateTags()
      Description copied from interface: ManagedInstancesCapacityProviderProps
      Specifies whether to propagate tags from the capacity provider to the launched instances.

      When set to CAPACITY_PROVIDER, tags applied to the capacity provider resource will be automatically applied to all EC2 instances launched by this capacity provider.

      Default: PropagateManagedInstancesTags.NONE - no tag propagation

      Specified by:
      getPropagateTags in interface ManagedInstancesCapacityProviderProps
    • getSecurityGroups

      public final List<ISecurityGroup> getSecurityGroups()
      Description copied from interface: ManagedInstancesCapacityProviderProps
      The security groups to associate with the launched EC2 instances.

      These security groups control the network traffic allowed to and from the instances. If not specified, the default security group of the VPC containing the subnets will be used.

      Default: - default security group of the VPC

      Specified by:
      getSecurityGroups in interface ManagedInstancesCapacityProviderProps
    • getTaskVolumeStorage

      public final Size getTaskVolumeStorage()
      Description copied from interface: ManagedInstancesCapacityProviderProps
      The size of the task volume storage attached to each instance.

      This storage is used for container images, container logs, and temporary files. Larger storage may be needed for workloads with large container images or applications that generate significant temporary data.

      Default: Size.gibibytes(80)

      Specified by:
      getTaskVolumeStorage in interface ManagedInstancesCapacityProviderProps
    • $jsii$toJson

      @Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
      Specified by:
      $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object