Class LaunchTemplateInstanceRequirementsArgs.Builder

    • Method Detail

      • acceleratorManufacturers

        public LaunchTemplateInstanceRequirementsArgs.Builder acceleratorManufacturers​(@Nullable
                                                                                       com.pulumi.core.Output<java.util.List<java.lang.String>> acceleratorManufacturers)
        Parameters:
        acceleratorManufacturers - List of accelerator manufacturer names. Default is any manufacturer.
        Returns:
        builder
      • acceleratorManufacturers

        public LaunchTemplateInstanceRequirementsArgs.Builder acceleratorManufacturers​(java.util.List<java.lang.String> acceleratorManufacturers)
        Parameters:
        acceleratorManufacturers - List of accelerator manufacturer names. Default is any manufacturer.
        Returns:
        builder
      • acceleratorManufacturers

        public LaunchTemplateInstanceRequirementsArgs.Builder acceleratorManufacturers​(java.lang.String... acceleratorManufacturers)
        Parameters:
        acceleratorManufacturers - List of accelerator manufacturer names. Default is any manufacturer.
        Returns:
        builder
      • acceleratorNames

        public LaunchTemplateInstanceRequirementsArgs.Builder acceleratorNames​(@Nullable
                                                                               com.pulumi.core.Output<java.util.List<java.lang.String>> acceleratorNames)
        Parameters:
        acceleratorNames - List of accelerator names. Default is any accelerator.
        Returns:
        builder
      • acceleratorNames

        public LaunchTemplateInstanceRequirementsArgs.Builder acceleratorNames​(java.util.List<java.lang.String> acceleratorNames)
        Parameters:
        acceleratorNames - List of accelerator names. Default is any accelerator.
        Returns:
        builder
      • acceleratorNames

        public LaunchTemplateInstanceRequirementsArgs.Builder acceleratorNames​(java.lang.String... acceleratorNames)
        Parameters:
        acceleratorNames - List of accelerator names. Default is any accelerator.
        Returns:
        builder
      • acceleratorTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder acceleratorTypes​(@Nullable
                                                                               com.pulumi.core.Output<java.util.List<java.lang.String>> acceleratorTypes)
        Parameters:
        acceleratorTypes - List of accelerator types. Default is any accelerator type.
        Returns:
        builder
      • acceleratorTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder acceleratorTypes​(java.util.List<java.lang.String> acceleratorTypes)
        Parameters:
        acceleratorTypes - List of accelerator types. Default is any accelerator type.
        Returns:
        builder
      • acceleratorTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder acceleratorTypes​(java.lang.String... acceleratorTypes)
        Parameters:
        acceleratorTypes - List of accelerator types. Default is any accelerator type.
        Returns:
        builder
      • allowedInstanceTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder allowedInstanceTypes​(@Nullable
                                                                                   com.pulumi.core.Output<java.util.List<java.lang.String>> allowedInstanceTypes)
        Parameters:
        allowedInstanceTypes - List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (\*), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types. > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`.
        Returns:
        builder
      • allowedInstanceTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder allowedInstanceTypes​(java.util.List<java.lang.String> allowedInstanceTypes)
        Parameters:
        allowedInstanceTypes - List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (\*), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types. > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`.
        Returns:
        builder
      • allowedInstanceTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder allowedInstanceTypes​(java.lang.String... allowedInstanceTypes)
        Parameters:
        allowedInstanceTypes - List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (\*), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types. > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`.
        Returns:
        builder
      • bareMetal

        public LaunchTemplateInstanceRequirementsArgs.Builder bareMetal​(@Nullable
                                                                        com.pulumi.core.Output<java.lang.String> bareMetal)
        Parameters:
        bareMetal - Indicate whether bare metal instance types should be `included`, `excluded`, or `required`. Default is `excluded`.
        Returns:
        builder
      • bareMetal

        public LaunchTemplateInstanceRequirementsArgs.Builder bareMetal​(java.lang.String bareMetal)
        Parameters:
        bareMetal - Indicate whether bare metal instance types should be `included`, `excluded`, or `required`. Default is `excluded`.
        Returns:
        builder
      • burstablePerformance

        public LaunchTemplateInstanceRequirementsArgs.Builder burstablePerformance​(@Nullable
                                                                                   com.pulumi.core.Output<java.lang.String> burstablePerformance)
        Parameters:
        burstablePerformance - Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`.
        Returns:
        builder
      • burstablePerformance

        public LaunchTemplateInstanceRequirementsArgs.Builder burstablePerformance​(java.lang.String burstablePerformance)
        Parameters:
        burstablePerformance - Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`.
        Returns:
        builder
      • cpuManufacturers

        public LaunchTemplateInstanceRequirementsArgs.Builder cpuManufacturers​(@Nullable
                                                                               com.pulumi.core.Output<java.util.List<java.lang.String>> cpuManufacturers)
        Parameters:
        cpuManufacturers - List of CPU manufacturer names. Default is any manufacturer. > **NOTE:** Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the AMI that you specify in your launch template.
        Returns:
        builder
      • cpuManufacturers

        public LaunchTemplateInstanceRequirementsArgs.Builder cpuManufacturers​(java.util.List<java.lang.String> cpuManufacturers)
        Parameters:
        cpuManufacturers - List of CPU manufacturer names. Default is any manufacturer. > **NOTE:** Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the AMI that you specify in your launch template.
        Returns:
        builder
      • cpuManufacturers

        public LaunchTemplateInstanceRequirementsArgs.Builder cpuManufacturers​(java.lang.String... cpuManufacturers)
        Parameters:
        cpuManufacturers - List of CPU manufacturer names. Default is any manufacturer. > **NOTE:** Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the AMI that you specify in your launch template.
        Returns:
        builder
      • excludedInstanceTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder excludedInstanceTypes​(@Nullable
                                                                                    com.pulumi.core.Output<java.util.List<java.lang.String>> excludedInstanceTypes)
        Parameters:
        excludedInstanceTypes - List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`.
        Returns:
        builder
      • excludedInstanceTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder excludedInstanceTypes​(java.util.List<java.lang.String> excludedInstanceTypes)
        Parameters:
        excludedInstanceTypes - List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`.
        Returns:
        builder
      • excludedInstanceTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder excludedInstanceTypes​(java.lang.String... excludedInstanceTypes)
        Parameters:
        excludedInstanceTypes - List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`.
        Returns:
        builder
      • instanceGenerations

        public LaunchTemplateInstanceRequirementsArgs.Builder instanceGenerations​(@Nullable
                                                                                  com.pulumi.core.Output<java.util.List<java.lang.String>> instanceGenerations)
        Parameters:
        instanceGenerations - List of instance generation names. Default is any generation.
        Returns:
        builder
      • instanceGenerations

        public LaunchTemplateInstanceRequirementsArgs.Builder instanceGenerations​(java.util.List<java.lang.String> instanceGenerations)
        Parameters:
        instanceGenerations - List of instance generation names. Default is any generation.
        Returns:
        builder
      • instanceGenerations

        public LaunchTemplateInstanceRequirementsArgs.Builder instanceGenerations​(java.lang.String... instanceGenerations)
        Parameters:
        instanceGenerations - List of instance generation names. Default is any generation.
        Returns:
        builder
      • localStorage

        public LaunchTemplateInstanceRequirementsArgs.Builder localStorage​(@Nullable
                                                                           com.pulumi.core.Output<java.lang.String> localStorage)
        Parameters:
        localStorage - Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`.
        Returns:
        builder
      • localStorage

        public LaunchTemplateInstanceRequirementsArgs.Builder localStorage​(java.lang.String localStorage)
        Parameters:
        localStorage - Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`.
        Returns:
        builder
      • localStorageTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder localStorageTypes​(@Nullable
                                                                                com.pulumi.core.Output<java.util.List<java.lang.String>> localStorageTypes)
        Parameters:
        localStorageTypes - List of local storage type names. Default any storage type.
        Returns:
        builder
      • localStorageTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder localStorageTypes​(java.util.List<java.lang.String> localStorageTypes)
        Parameters:
        localStorageTypes - List of local storage type names. Default any storage type.
        Returns:
        builder
      • localStorageTypes

        public LaunchTemplateInstanceRequirementsArgs.Builder localStorageTypes​(java.lang.String... localStorageTypes)
        Parameters:
        localStorageTypes - List of local storage type names. Default any storage type.
        Returns:
        builder
      • maxSpotPriceAsPercentageOfOptimalOnDemandPrice

        public LaunchTemplateInstanceRequirementsArgs.Builder maxSpotPriceAsPercentageOfOptimalOnDemandPrice​(@Nullable
                                                                                                             com.pulumi.core.Output<java.lang.Integer> maxSpotPriceAsPercentageOfOptimalOnDemandPrice)
        Parameters:
        maxSpotPriceAsPercentageOfOptimalOnDemandPrice - The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with `spotMaxPricePercentageOverLowestPrice`
        Returns:
        builder
      • maxSpotPriceAsPercentageOfOptimalOnDemandPrice

        public LaunchTemplateInstanceRequirementsArgs.Builder maxSpotPriceAsPercentageOfOptimalOnDemandPrice​(java.lang.Integer maxSpotPriceAsPercentageOfOptimalOnDemandPrice)
        Parameters:
        maxSpotPriceAsPercentageOfOptimalOnDemandPrice - The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with `spotMaxPricePercentageOverLowestPrice`
        Returns:
        builder
      • onDemandMaxPricePercentageOverLowestPrice

        public LaunchTemplateInstanceRequirementsArgs.Builder onDemandMaxPricePercentageOverLowestPrice​(@Nullable
                                                                                                        com.pulumi.core.Output<java.lang.Integer> onDemandMaxPricePercentageOverLowestPrice)
        Parameters:
        onDemandMaxPricePercentageOverLowestPrice - The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
        Returns:
        builder
      • onDemandMaxPricePercentageOverLowestPrice

        public LaunchTemplateInstanceRequirementsArgs.Builder onDemandMaxPricePercentageOverLowestPrice​(java.lang.Integer onDemandMaxPricePercentageOverLowestPrice)
        Parameters:
        onDemandMaxPricePercentageOverLowestPrice - The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
        Returns:
        builder
      • requireHibernateSupport

        public LaunchTemplateInstanceRequirementsArgs.Builder requireHibernateSupport​(@Nullable
                                                                                      com.pulumi.core.Output<java.lang.Boolean> requireHibernateSupport)
        Parameters:
        requireHibernateSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`.
        Returns:
        builder
      • requireHibernateSupport

        public LaunchTemplateInstanceRequirementsArgs.Builder requireHibernateSupport​(java.lang.Boolean requireHibernateSupport)
        Parameters:
        requireHibernateSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`.
        Returns:
        builder
      • spotMaxPricePercentageOverLowestPrice

        public LaunchTemplateInstanceRequirementsArgs.Builder spotMaxPricePercentageOverLowestPrice​(@Nullable
                                                                                                    com.pulumi.core.Output<java.lang.Integer> spotMaxPricePercentageOverLowestPrice)
        Parameters:
        spotMaxPricePercentageOverLowestPrice - The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
        Returns:
        builder
      • spotMaxPricePercentageOverLowestPrice

        public LaunchTemplateInstanceRequirementsArgs.Builder spotMaxPricePercentageOverLowestPrice​(java.lang.Integer spotMaxPricePercentageOverLowestPrice)
        Parameters:
        spotMaxPricePercentageOverLowestPrice - The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
        Returns:
        builder