Ctrl + k

or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/com.pulumi/aws@7.16.x

docs

common-patterns.mdgetting-started.mdindex.mdprovider.md
tile.json

tessl/maven-com-pulumi--aws

tessl install tessl/maven-com-pulumi--aws@7.16.0

Pulumi Java SDK for AWS providing strongly-typed Infrastructure-as-Code for 227 AWS service packages including compute, storage, databases, networking, security, analytics, machine learning, and more.

management.mddocs/services/

AWS Management and Monitoring Services

This document covers Pulumi AWS Java SDK management and monitoring services for observability, configuration, and governance.

Services Covered

  • CloudWatch: Monitoring and observability (MetricAlarm, Dashboard, LogGroup, LogStream, Events)
  • CloudWatch Logs: Log management
  • CloudWatch RUM: Real User Monitoring
  • CloudWatch Synthetics: Synthetic monitoring
  • CloudWatch Observability: Unified observability
  • CloudFormation: Infrastructure as code
  • SSM: Systems Manager (Parameter, Document, MaintenanceWindow, PatchBaseline)
  • SSM Contacts: Incident contacts
  • SSM Incidents: Incident management
  • CloudTrail: API logging and governance
  • Config: Resource configuration tracking
  • Control Tower: Multi-account governance
  • Organizations: Account management
  • Resource Groups: Resource organization
  • Resource Explorer: Resource search
  • Service Catalog: Product portfolio management
  • AppConfig: Application configuration
  • OAM: Observability Access Manager
  • Chatbot: AWS Chatbot for notifications

CloudWatch

Amazon CloudWatch provides monitoring and observability.

Core Imports

import com.pulumi.aws.cloudwatch.MetricAlarm;
import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
import com.pulumi.aws.cloudwatch.Dashboard;
import com.pulumi.aws.cloudwatch.DashboardArgs;
import com.pulumi.aws.cloudwatch.LogGroup;
import com.pulumi.aws.cloudwatch.LogGroupArgs;
import com.pulumi.aws.cloudwatch.LogStream;
import com.pulumi.aws.cloudwatch.LogStreamArgs;
import com.pulumi.aws.cloudwatch.EventRule;
import com.pulumi.aws.cloudwatch.EventRuleArgs;
import com.pulumi.aws.cloudwatch.EventTarget;
import com.pulumi.aws.cloudwatch.EventTargetArgs;
import com.pulumi.aws.cloudwatch.CompositeAlarm;
import com.pulumi.aws.cloudwatch.CompositeAlarmArgs;

MetricAlarm Resource

@ResourceType(type="aws:cloudwatch/metricAlarm:MetricAlarm")
public class MetricAlarm extends com.pulumi.resources.CustomResource {
    public MetricAlarm(String name, MetricAlarmArgs args);
    
    public Output<String> id();
    public Output<String> arn();
    public Output<String> alarmName();
    public Output<String> comparisonOperator();
    public Output<Integer> evaluationPeriods();
    public Output<Optional<String>> metricName();
    public Output<Optional<String>> namespace();
    public Output<Optional<Integer>> period();
    public Output<Optional<String>> statistic();
    public Output<Double> threshold();
    public Output<Optional<List<String>>> alarmActions();
    public Output<Optional<String>> alarmDescription();
    public Output<Optional<List<MetricAlarmMetricQuery>>> metricQueries();
    public Output<Optional<Map<String, String>>> tags();
}

public class MetricAlarmArgs extends com.pulumi.resources.ResourceArgs {
    public static Builder builder();
    
    public static final class Builder {
        public Builder alarmName(Output<String> alarmName);
        public Builder comparisonOperator(Output<String> comparisonOperator);
        public Builder evaluationPeriods(Output<Integer> evaluationPeriods);
        public Builder metricName(Output<String> metricName);
        public Builder namespace(Output<String> namespace);
        public Builder period(Output<Integer> period);
        public Builder statistic(Output<String> statistic);
        public Builder threshold(Output<Double> threshold);
        public Builder alarmActions(Output<List<String>> alarmActions);
        public Builder alarmDescription(Output<String> alarmDescription);
        public Builder metricQueries(Output<List<MetricAlarmMetricQueryArgs>> metricQueries);
        public Builder tags(Output<Map<String, String>> tags);
        public MetricAlarmArgs build();
    }
}

LogGroup Resource

@ResourceType(type="aws:cloudwatch/logGroup:LogGroup")
public class LogGroup extends com.pulumi.resources.CustomResource {
    public LogGroup(String name, LogGroupArgs args);
    
    public Output<String> id();
    public Output<String> arn();
    public Output<String> name();
    public Output<Optional<String>> kmsKeyId();
    public Output<Optional<Integer>> retentionInDays();
    public Output<Optional<Boolean>> skipDestroy();
    public Output<Optional<Map<String, String>>> tags();
}

public class LogGroupArgs extends com.pulumi.resources.ResourceArgs {
    public static Builder builder();
    
    public static final class Builder {
        public Builder name(Output<String> name);
        public Builder retentionInDays(Output<Integer> retentionInDays);
        public Builder kmsKeyId(Output<String> kmsKeyId);
        public Builder skipDestroy(Output<Boolean> skipDestroy);
        public Builder tags(Output<Map<String, String>> tags);
        public LogGroupArgs build();
    }
}

Dashboard Resource

@ResourceType(type="aws:cloudwatch/dashboard:Dashboard")
public class Dashboard extends com.pulumi.resources.CustomResource {
    public Dashboard(String name, DashboardArgs args);
    
    public Output<String> id();
    public Output<String> dashboardArn();
    public Output<String> dashboardName();
    public Output<String> dashboardBody();
}

public class DashboardArgs extends com.pulumi.resources.ResourceArgs {
    public static Builder builder();
    
    public static final class Builder {
        public Builder dashboardName(Output<String> dashboardName);
        public Builder dashboardBody(Output<String> dashboardBody);
        public DashboardArgs build();
    }
}

SSM (Systems Manager)

AWS Systems Manager provides operational management.

Core Imports

import com.pulumi.aws.ssm.Parameter;
import com.pulumi.aws.ssm.ParameterArgs;
import com.pulumi.aws.ssm.Document;
import com.pulumi.aws.ssm.DocumentArgs;
import com.pulumi.aws.ssm.MaintenanceWindow;
import com.pulumi.aws.ssm.MaintenanceWindowArgs;
import com.pulumi.aws.ssm.PatchBaseline;
import com.pulumi.aws.ssm.PatchBaselineArgs;
import com.pulumi.aws.ssm.Association;
import com.pulumi.aws.ssm.AssociationArgs;

Parameter Resource

@ResourceType(type="aws:ssm/parameter:Parameter")
public class Parameter extends com.pulumi.resources.CustomResource {
    public Parameter(String name, ParameterArgs args);
    
    public Output<String> id();
    public Output<String> arn();
    public Output<String> name();
    public Output<String> type();
    public Output<String> value();
    public Output<Optional<String>> description();
    public Output<Optional<String>> keyId();
    public Output<Optional<Integer>> tier();
    public Output<Optional<Map<String, String>>> tags();
}

public class ParameterArgs extends com.pulumi.resources.ResourceArgs {
    public static Builder builder();
    
    public static final class Builder {
        public Builder name(Output<String> name);
        public Builder type(Output<String> type);
        public Builder value(Output<String> value);
        public Builder description(Output<String> description);
        public Builder keyId(Output<String> keyId);
        public Builder tier(Output<String> tier);
        public Builder tags(Output<Map<String, String>> tags);
        public ParameterArgs build();
    }
}

Document Resource

@ResourceType(type="aws:ssm/document:Document")
public class Document extends com.pulumi.resources.CustomResource {
    public Document(String name, DocumentArgs args);
    
    public Output<String> id();
    public Output<String> arn();
    public Output<String> name();
    public Output<String> documentType();
    public Output<String> content();
    public Output<Optional<String>> documentFormat();
    public Output<Optional<String>> targetType();
    public Output<Optional<String>> versionName();
    public Output<Optional<Map<String, String>>> tags();
}

public class DocumentArgs extends com.pulumi.resources.ResourceArgs {
    public static Builder builder();
    
    public static final class Builder {
        public Builder name(Output<String> name);
        public Builder documentType(Output<String> documentType);
        public Builder content(Output<String> content);
        public Builder documentFormat(Output<String> documentFormat);
        public Builder targetType(Output<String> targetType);
        public Builder versionName(Output<String> versionName);
        public Builder tags(Output<Map<String, String>> tags);
        public DocumentArgs build();
    }
}

CloudTrail

AWS CloudTrail provides API logging.

Core Imports

import com.pulumi.aws.cloudtrail.Trail;
import com.pulumi.aws.cloudtrail.TrailArgs;
import com.pulumi.aws.cloudtrail.EventDataStore;
import com.pulumi.aws.cloudtrail.EventDataStoreArgs;

Trail Resource

@ResourceType(type="aws:cloudtrail/trail:Trail")
public class Trail extends com.pulumi.resources.CustomResource {
    public Trail(String name, TrailArgs args);
    
    public Output<String> id();
    public Output<String> arn();
    public Output<String> name();
    public Output<String> s3BucketName();
    public Output<Optional<Boolean>> enableLogFileValidation();
    public Output<Optional<Boolean>> includeGlobalServiceEvents();
    public Output<Optional<Boolean>> isMultiRegionTrail();
    public Output<Optional<Boolean>> isOrganizationTrail();
    public Output<Optional<String>> kmsKeyId();
    public Output<Optional<Map<String, String>>> tags();
}

public class TrailArgs extends com.pulumi.resources.ResourceArgs {
    public static Builder builder();
    
    public static final class Builder {
        public Builder name(Output<String> name);
        public Builder s3BucketName(Output<String> s3BucketName);
        public Builder enableLogFileValidation(Output<Boolean> enableLogFileValidation);
        public Builder includeGlobalServiceEvents(Output<Boolean> includeGlobalServiceEvents);
        public Builder isMultiRegionTrail(Output<Boolean> isMultiRegionTrail);
        public Builder isOrganizationTrail(Output<Boolean> isOrganizationTrail);
        public Builder kmsKeyId(Output<String> kmsKeyId);
        public Builder tags(Output<Map<String, String>> tags);
        public TrailArgs build();
    }
}

Config

AWS Config tracks resource configuration and compliance.

Core Imports

import com.pulumi.aws.cfg.Recorder;
import com.pulumi.aws.cfg.RecorderArgs;
import com.pulumi.aws.cfg.DeliveryChannel;
import com.pulumi.aws.cfg.DeliveryChannelArgs;
import com.pulumi.aws.cfg.Rule;
import com.pulumi.aws.cfg.RuleArgs;
import com.pulumi.aws.cfg.ConformancePack;
import com.pulumi.aws.cfg.ConformancePackArgs;

Rule Resource

@ResourceType(type="aws:cfg/rule:Rule")
public class Rule extends com.pulumi.resources.CustomResource {
    public Rule(String name, RuleArgs args);
    
    public Output<String> id();
    public Output<String> arn();
    public Output<String> name();
    public Output<RuleSource> source();
    public Output<Optional<String>> description();
    public Output<Optional<String>> inputParameters();
    public Output<Optional<String>> maximumExecutionFrequency();
    public Output<Optional<RuleScope>> scope();
    public Output<Optional<Map<String, String>>> tags();
}

public class RuleArgs extends com.pulumi.resources.ResourceArgs {
    public static Builder builder();
    
    public static final class Builder {
        public Builder name(Output<String> name);
        public Builder source(Output<RuleSourceArgs> source);
        public Builder description(Output<String> description);
        public Builder inputParameters(Output<String> inputParameters);
        public Builder maximumExecutionFrequency(Output<String> maximumExecutionFrequency);
        public Builder scope(Output<RuleScopeArgs> scope);
        public Builder tags(Output<Map<String, String>> tags);
        public RuleArgs build();
    }
}

Organizations

AWS Organizations provides multi-account management.

Core Imports

import com.pulumi.aws.organizations.Organization;
import com.pulumi.aws.organizations.OrganizationArgs;
import com.pulumi.aws.organizations.Account;
import com.pulumi.aws.organizations.AccountArgs;
import com.pulumi.aws.organizations.OrganizationalUnit;
import com.pulumi.aws.organizations.OrganizationalUnitArgs;
import com.pulumi.aws.organizations.Policy;
import com.pulumi.aws.organizations.PolicyArgs;
import com.pulumi.aws.organizations.PolicyAttachment;
import com.pulumi.aws.organizations.PolicyAttachmentArgs;

Organization Resource

@ResourceType(type="aws:organizations/organization:Organization")
public class Organization extends com.pulumi.resources.CustomResource {
    public Organization(String name);
    
    public Output<String> id();
    public Output<String> arn();
    public Output<String> masterAccountArn();
    public Output<String> masterAccountEmail();
    public Output<String> masterAccountId();
    public Output<List<OrganizationAccount>> accounts();
    public Output<List<String>> awsServiceAccessPrincipals();
    public Output<List<String>> enabledPolicyTypes();
    public Output<List<String>> featureSet();
    public Output<List<OrganizationRootsItem>> roots();
}

Usage Examples

CloudWatch Monitoring

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.aws.cloudwatch.*;
import java.util.List;
import java.util.Map;

public class MonitoringExample {
    public static void main(String[] args) {
        Pulumi.run(MonitoringExample::stack);
    }

    public static void stack(Context ctx) {
        // Create Log Group
        var logGroup = new LogGroup("appLogs", LogGroupArgs.builder()
            .name("/aws/application/myapp")
            .retentionInDays(7)
            .tags(Map.of("Name", "app-logs"))
            .build());

        // Create Metric Alarm
        var cpuAlarm = new MetricAlarm("cpuAlarm", MetricAlarmArgs.builder()
            .alarmName("high-cpu-usage")
            .comparisonOperator("GreaterThanThreshold")
            .evaluationPeriods(2)
            .metricName("CPUUtilization")
            .namespace("AWS/EC2")
            .period(300)
            .statistic("Average")
            .threshold(80.0)
            .alarmDescription("Alert when CPU exceeds 80%")
            .alarmActions(List.of("arn:aws:sns:us-west-2:123456789012:alerts"))
            .build());

        // Create Dashboard
        var dashboard = new Dashboard("appDashboard", DashboardArgs.builder()
            .dashboardName("application-dashboard")
            .dashboardBody("""
                {
                  "widgets": [{
                    "type": "metric",
                    "properties": {
                      "metrics": [
                        ["AWS/EC2", "CPUUtilization"]
                      ],
                      "period": 300,
                      "stat": "Average",
                      "region": "us-west-2",
                      "title": "CPU Utilization"
                    }
                  }]
                }
                """)
            .build());

        ctx.export("logGroupName", logGroup.name());
        ctx.export("alarmName", cpuAlarm.alarmName());
    }
}

SSM Parameter Store

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.aws.ssm.*;
import java.util.Map;

public class SsmExample {
    public static void main(String[] args) {
        Pulumi.run(SsmExample::stack);
    }

    public static void stack(Context ctx) {
        // Create String Parameter
        var apiUrl = new Parameter("apiUrl", ParameterArgs.builder()
            .name("/myapp/api/url")
            .type("String")
            .value("https://api.example.com")
            .description("API endpoint URL")
            .tags(Map.of("Environment", "production"))
            .build());

        // Create SecureString Parameter
        var dbPassword = new Parameter("dbPassword", ParameterArgs.builder()
            .name("/myapp/database/password")
            .type("SecureString")
            .value("super-secret-password")
            .description("Database password")
            .keyId("alias/aws/ssm")
            .tier("Standard")
            .tags(Map.of("Environment", "production"))
            .build());

        ctx.export("apiUrlParam", apiUrl.name());
        ctx.export("dbPasswordParam", dbPassword.name());
    }
}