Skip to content

Commit

Permalink
Add new AWS resources
Browse files Browse the repository at this point in the history
Added:
- AppTest
- ApplicationSignals
- LaunchWizard
- PCAConnectorSCEP
- QBusiness
- SSMQuickSetup
  • Loading branch information
markpeek committed Sep 30, 2024
1 parent 625bd24 commit 96d8d8e
Show file tree
Hide file tree
Showing 7 changed files with 1,076 additions and 0 deletions.
6 changes: 6 additions & 0 deletions resources_aws.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@
- [AWS::AppRunner](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppRunner.html)
- [AWS::AppStream](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppStream.html)
- [AWS::AppSync](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppSync.html)
- [AWS::AppTest](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppTest.html)
- [AWS::ApplicationAutoScaling](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApplicationAutoScaling.html)
- [AWS::ApplicationInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApplicationInsights.html)
- [AWS::ApplicationSignals](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApplicationSignals.html)
- [AWS::Athena](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Athena.html)
- [AWS::AuditManager](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AuditManager.html)
- [AWS::AutoScaling](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AutoScaling.html)
Expand Down Expand Up @@ -136,6 +138,7 @@
- [AWS::KinesisVideo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisVideo.html)
- [AWS::LakeFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_LakeFormation.html)
- [AWS::Lambda](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Lambda.html)
- [AWS::LaunchWizard](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_LaunchWizard.html)
- [AWS::Lex](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Lex.html)
- [AWS::LicenseManager](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_LicenseManager.html)
- [AWS::Lightsail](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Lightsail.html)
Expand Down Expand Up @@ -171,13 +174,15 @@
- [AWS::OpsWorksCM](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_OpsWorksCM.html)
- [AWS::Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Organizations.html)
- [AWS::PCAConnectorAD](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_PCAConnectorAD.html)
- [AWS::PCAConnectorSCEP](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_PCAConnectorSCEP.html)
- [AWS::Panorama](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Panorama.html)
- [AWS::PaymentCryptography](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_PaymentCryptography.html)
- [AWS::Personalize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Personalize.html)
- [AWS::Pinpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Pinpoint.html)
- [AWS::PinpointEmail](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_PinpointEmail.html)
- [AWS::Pipes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Pipes.html)
- [AWS::Proton](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Proton.html)
- [AWS::QBusiness](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_QBusiness.html)
- [AWS::QLDB](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_QLDB.html)
- [AWS::QuickSight](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_QuickSight.html)
- [AWS::RAM](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_RAM.html)
Expand Down Expand Up @@ -208,6 +213,7 @@
- [AWS::SSM](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SSM.html)
- [AWS::SSMContacts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SSMContacts.html)
- [AWS::SSMIncidents](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SSMIncidents.html)
- [AWS::SSMQuickSetup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SSMQuickSetup.html)
- [AWS::SSO](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SSO.html)
- [AWS::SageMaker](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SageMaker.html)
- [AWS::Scheduler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Scheduler.html)
Expand Down
187 changes: 187 additions & 0 deletions troposphere/applicationsignals.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
# Copyright (c) 2012-2024, Mark Peek <[email protected]>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer


class CalendarInterval(AWSProperty):
"""
`CalendarInterval <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-calendarinterval.html>`__
"""

props: PropsDictType = {
"Duration": (integer, True),
"DurationUnit": (str, True),
"StartTime": (integer, True),
}


class RollingInterval(AWSProperty):
"""
`RollingInterval <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-rollinginterval.html>`__
"""

props: PropsDictType = {
"Duration": (integer, True),
"DurationUnit": (str, True),
}


class Interval(AWSProperty):
"""
`Interval <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-interval.html>`__
"""

props: PropsDictType = {
"CalendarInterval": (CalendarInterval, False),
"RollingInterval": (RollingInterval, False),
}


class Goal(AWSProperty):
"""
`Goal <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-goal.html>`__
"""

props: PropsDictType = {
"AttainmentGoal": (double, False),
"Interval": (Interval, False),
"WarningThreshold": (double, False),
}


class Dimension(AWSProperty):
"""
`Dimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dimension.html>`__
"""

props: PropsDictType = {
"Name": (str, True),
"Value": (str, True),
}


class Metric(AWSProperty):
"""
`Metric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metric.html>`__
"""

props: PropsDictType = {
"Dimensions": ([Dimension], False),
"MetricName": (str, False),
"Namespace": (str, False),
}


class MetricStat(AWSProperty):
"""
`MetricStat <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricstat.html>`__
"""

props: PropsDictType = {
"Metric": (Metric, True),
"Period": (integer, True),
"Stat": (str, True),
"Unit": (str, False),
}


class MetricDataQuery(AWSProperty):
"""
`MetricDataQuery <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricdataquery.html>`__
"""

props: PropsDictType = {
"AccountId": (str, False),
"Expression": (str, False),
"Id": (str, True),
"MetricStat": (MetricStat, False),
"ReturnData": (boolean, False),
}


class MonitoredRequestCountMetric(AWSProperty):
"""
`MonitoredRequestCountMetric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html>`__
"""

props: PropsDictType = {
"BadCountMetric": ([MetricDataQuery], False),
"GoodCountMetric": ([MetricDataQuery], False),
}


class RequestBasedSliMetric(AWSProperty):
"""
`RequestBasedSliMetric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html>`__
"""

props: PropsDictType = {
"KeyAttributes": (dict, False),
"MetricType": (str, False),
"MonitoredRequestCountMetric": (MonitoredRequestCountMetric, False),
"OperationName": (str, False),
"TotalRequestCountMetric": ([MetricDataQuery], False),
}


class RequestBasedSli(AWSProperty):
"""
`RequestBasedSli <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html>`__
"""

props: PropsDictType = {
"ComparisonOperator": (str, False),
"MetricThreshold": (double, False),
"RequestBasedSliMetric": (RequestBasedSliMetric, True),
}


class SliMetric(AWSProperty):
"""
`SliMetric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html>`__
"""

props: PropsDictType = {
"KeyAttributes": (dict, False),
"MetricDataQueries": ([MetricDataQuery], False),
"MetricType": (str, False),
"OperationName": (str, False),
"PeriodSeconds": (integer, False),
"Statistic": (str, False),
}


class Sli(AWSProperty):
"""
`Sli <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-sli.html>`__
"""

props: PropsDictType = {
"ComparisonOperator": (str, True),
"MetricThreshold": (double, True),
"SliMetric": (SliMetric, True),
}


class ServiceLevelObjective(AWSObject):
"""
`ServiceLevelObjective <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html>`__
"""

resource_type = "AWS::ApplicationSignals::ServiceLevelObjective"

props: PropsDictType = {
"Description": (str, False),
"Goal": (Goal, False),
"Name": (str, True),
"RequestBasedSli": (RequestBasedSli, False),
"Sli": (Sli, False),
"Tags": (Tags, False),
}
Loading

0 comments on commit 96d8d8e

Please sign in to comment.