RecommendationPreferences class
Manages AWS Compute Optimizer recommendation preferences.
Example Usage
Lookback Period Preference
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.computeoptimizer.RecommendationPreferences("example", {
scope: {
name: "AccountId",
value: "123456789012",
},
resourceType: "Ec2Instance",
lookBackPeriod: "DAYS_32",
});
import pulumi
import pulumi_aws as aws
example = aws.computeoptimizer.RecommendationPreferences("example",
scope={
"name": "AccountId",
"value": "123456789012",
},
resource_type="Ec2Instance",
look_back_period="DAYS_32")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.ComputeOptimizer.RecommendationPreferences("example", new()
{
Scope = new Aws.ComputeOptimizer.Inputs.RecommendationPreferencesScopeArgs
{
Name = "AccountId",
Value = "123456789012",
},
ResourceType = "Ec2Instance",
LookBackPeriod = "DAYS_32",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/computeoptimizer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := computeoptimizer.NewRecommendationPreferences(ctx, "example", &computeoptimizer.RecommendationPreferencesArgs{
Scope: &computeoptimizer.RecommendationPreferencesScopeArgs{
Name: pulumi.String("AccountId"),
Value: pulumi.String("123456789012"),
},
ResourceType: pulumi.String("Ec2Instance"),
LookBackPeriod: pulumi.String("DAYS_32"),
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
resource "aws_computeoptimizer_recommendationpreferences" "example" {
scope = {
name = "AccountId"
value = "123456789012"
}
resource_type = "Ec2Instance"
look_back_period = "DAYS_32"
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.computeoptimizer.RecommendationPreferences;
import com.pulumi.aws.computeoptimizer.RecommendationPreferencesArgs;
import com.pulumi.aws.computeoptimizer.inputs.RecommendationPreferencesScopeArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new RecommendationPreferences("example", RecommendationPreferencesArgs.builder()
.scope(RecommendationPreferencesScopeArgs.builder()
.name("AccountId")
.value("123456789012")
.build())
.resourceType("Ec2Instance")
.lookBackPeriod("DAYS_32")
.build());
}
}
resources:
example:
type: aws:computeoptimizer:RecommendationPreferences
properties:
scope:
name: AccountId
value: '123456789012'
resourceType: Ec2Instance
lookBackPeriod: DAYS_32
Multiple Preferences
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.computeoptimizer.RecommendationPreferences("example", {
scope: {
name: "AccountId",
value: "123456789012",
},
externalMetricsPreference: {
source: "Datadog",
},
preferredResources: [{
includeLists: [
"m5.xlarge",
"r5",
],
name: "Ec2InstanceTypes",
}],
resourceType: "Ec2Instance",
enhancedInfrastructureMetrics: "Active",
});
import pulumi
import pulumi_aws as aws
example = aws.computeoptimizer.RecommendationPreferences("example",
scope={
"name": "AccountId",
"value": "123456789012",
},
external_metrics_preference={
"source": "Datadog",
},
preferred_resources=[{
"include_lists": [
"m5.xlarge",
"r5",
],
"name": "Ec2InstanceTypes",
}],
resource_type="Ec2Instance",
enhanced_infrastructure_metrics="Active")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.ComputeOptimizer.RecommendationPreferences("example", new()
{
Scope = new Aws.ComputeOptimizer.Inputs.RecommendationPreferencesScopeArgs
{
Name = "AccountId",
Value = "123456789012",
},
ExternalMetricsPreference = new Aws.ComputeOptimizer.Inputs.RecommendationPreferencesExternalMetricsPreferenceArgs
{
Source = "Datadog",
},
PreferredResources = new[]
{
new Aws.ComputeOptimizer.Inputs.RecommendationPreferencesPreferredResourceArgs
{
IncludeLists = new[]
{
"m5.xlarge",
"r5",
},
Name = "Ec2InstanceTypes",
},
},
ResourceType = "Ec2Instance",
EnhancedInfrastructureMetrics = "Active",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/computeoptimizer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := computeoptimizer.NewRecommendationPreferences(ctx, "example", &computeoptimizer.RecommendationPreferencesArgs{
Scope: &computeoptimizer.RecommendationPreferencesScopeArgs{
Name: pulumi.String("AccountId"),
Value: pulumi.String("123456789012"),
},
ExternalMetricsPreference: &computeoptimizer.RecommendationPreferencesExternalMetricsPreferenceArgs{
Source: pulumi.String("Datadog"),
},
PreferredResources: computeoptimizer.RecommendationPreferencesPreferredResourceArray{
&computeoptimizer.RecommendationPreferencesPreferredResourceArgs{
IncludeLists: pulumi.StringArray{
pulumi.String("m5.xlarge"),
pulumi.String("r5"),
},
Name: pulumi.String("Ec2InstanceTypes"),
},
},
ResourceType: pulumi.String("Ec2Instance"),
EnhancedInfrastructureMetrics: pulumi.String("Active"),
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
resource "aws_computeoptimizer_recommendationpreferences" "example" {
scope = {
name = "AccountId"
value = "123456789012"
}
external_metrics_preference = {
source = "Datadog"
}
preferred_resources {
include_lists = ["m5.xlarge", "r5"]
name = "Ec2InstanceTypes"
}
resource_type = "Ec2Instance"
enhanced_infrastructure_metrics = "Active"
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.computeoptimizer.RecommendationPreferences;
import com.pulumi.aws.computeoptimizer.RecommendationPreferencesArgs;
import com.pulumi.aws.computeoptimizer.inputs.RecommendationPreferencesScopeArgs;
import com.pulumi.aws.computeoptimizer.inputs.RecommendationPreferencesExternalMetricsPreferenceArgs;
import com.pulumi.aws.computeoptimizer.inputs.RecommendationPreferencesPreferredResourceArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new RecommendationPreferences("example", RecommendationPreferencesArgs.builder()
.scope(RecommendationPreferencesScopeArgs.builder()
.name("AccountId")
.value("123456789012")
.build())
.externalMetricsPreference(RecommendationPreferencesExternalMetricsPreferenceArgs.builder()
.source("Datadog")
.build())
.preferredResources(RecommendationPreferencesPreferredResourceArgs.builder()
.includeLists(
"m5.xlarge",
"r5")
.name("Ec2InstanceTypes")
.build())
.resourceType("Ec2Instance")
.enhancedInfrastructureMetrics("Active")
.build());
}
}
resources:
example:
type: aws:computeoptimizer:RecommendationPreferences
properties:
scope:
name: AccountId
value: '123456789012'
externalMetricsPreference:
source: Datadog
preferredResources:
- includeLists:
- m5.xlarge
- r5
name: Ec2InstanceTypes
resourceType: Ec2Instance
enhancedInfrastructureMetrics: Active
Import
Using pulumi import, import recommendation preferences using the resource type, scope name and scope value. For example:
$ pulumi import aws:computeoptimizer/recommendationPreferences:RecommendationPreferences example Ec2Instance,AccountId,123456789012
Constructors
- RecommendationPreferences(String name, {RecommendationPreferencesArgs? args, CustomResourceOptions? options})
-
Creates a new RecommendationPreferences.
nameThe Pulumi resource name.argsArguments used to configure this RecommendationPreferences. The set of arguments for RecommendationPreferences.optionsResource options controlling this resource's behavior. - RecommendationPreferences.reference(String urn)
- Creates a typed reference to an existing RecommendationPreferences resource.
Properties
-
childResources
→ Set<
Resource> -
finalinherited
-
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
-
enhancedInfrastructureMetrics
↔ Output<
String?> -
The status of the enhanced infrastructure metrics recommendation preference. Valid values:
Active,Inactive.latefinal -
externalMetricsPreference
↔ Output<
RecommendationPreferencesExternalMetricsPreference?> -
The provider of the external metrics recommendation preference. See External Metrics Preference below.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
-
id
↔ Output<
String> -
getter/setter pairinherited
-
inferredWorkloadTypes
↔ Output<
String?> -
The status of the inferred workload types recommendation preference. Valid values:
Active,Inactive.latefinal - isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
lookBackPeriod
↔ Output<
String> -
The preference to control the number of days the utilization metrics of the AWS resource are analyzed. Valid values:
DAYS_14,DAYS_32,DAYS_93.latefinal -
preferredResources
↔ Output<
List< RecommendationPreferencesPreferredResource> ?> -
The preference to control which resource type values are considered when generating rightsizing recommendations. See Preferred Resources below.
latefinal
-
region
↔ Output<
String> -
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
-
resourceType
↔ Output<
String> -
The target resource type of the recommendation preferences. Valid values:
Ec2Instance,AutoScalingGroup,RdsDBInstance,AuroraDBClusterStorage.latefinal - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
savingsEstimationMode
↔ Output<
String?> -
The status of the savings estimation mode preference. Valid values:
AfterDiscounts,BeforeDiscounts.latefinal -
scope
↔ Output<
RecommendationPreferencesScope> -
The scope of the recommendation preferences. See Scope below.
latefinal
-
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
urn
↔ Output<
String> -
latefinalinherited
-
utilizationPreferences
↔ Output<
List< RecommendationPreferencesUtilizationPreference> ?> -
The preference to control the resource’s CPU utilization threshold, CPU utilization headroom, and memory utilization headroom. See Utilization Preferences below.
latefinal
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
get(
String name, Input< String> id, {RecommendationPreferencesState? state, CustomResourceOptions? options}) → RecommendationPreferences -
Gets an existing RecommendationPreferences resource's state with the given
nameandid.