# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# 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, integer
from .validators.servicecatalog import validate_tag_update
[docs]class AcceptedPortfolioShare(AWSObject):
"""
`AcceptedPortfolioShare <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html>`__
"""
resource_type = "AWS::ServiceCatalog::AcceptedPortfolioShare"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"PortfolioId": (str, True),
}
[docs]class ProvisioningArtifactProperties(AWSProperty):
"""
`ProvisioningArtifactProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html>`__
"""
props: PropsDictType = {
"Description": (str, False),
"DisableTemplateValidation": (boolean, False),
"Info": (dict, True),
"Name": (str, False),
"Type": (str, False),
}
[docs]class CodeStarParameters(AWSProperty):
"""
`CodeStarParameters <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-codestarparameters.html>`__
"""
props: PropsDictType = {
"ArtifactPath": (str, True),
"Branch": (str, True),
"ConnectionArn": (str, True),
"Repository": (str, True),
}
[docs]class ConnectionParameters(AWSProperty):
"""
`ConnectionParameters <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-sourceconnection-connectionparameters.html>`__
"""
props: PropsDictType = {
"CodeStar": (CodeStarParameters, False),
}
[docs]class SourceConnection(AWSProperty):
"""
`SourceConnection <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-sourceconnection.html>`__
"""
props: PropsDictType = {
"ConnectionParameters": (ConnectionParameters, True),
"Type": (str, True),
}
[docs]class ProvisioningParameter(AWSProperty):
"""
`ProvisioningParameter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html>`__
"""
props: PropsDictType = {
"Key": (str, True),
"Value": (str, True),
}
[docs]class ProvisioningPreferences(AWSProperty):
"""
`ProvisioningPreferences <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html>`__
"""
props: PropsDictType = {
"StackSetAccounts": ([str], False),
"StackSetFailureToleranceCount": (integer, False),
"StackSetFailureTolerancePercentage": (integer, False),
"StackSetMaxConcurrencyCount": (integer, False),
"StackSetMaxConcurrencyPercentage": (integer, False),
"StackSetOperationType": (str, False),
"StackSetRegions": ([str], False),
}
[docs]class LaunchNotificationConstraint(AWSObject):
"""
`LaunchNotificationConstraint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html>`__
"""
resource_type = "AWS::ServiceCatalog::LaunchNotificationConstraint"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"Description": (str, False),
"NotificationArns": ([str], True),
"PortfolioId": (str, True),
"ProductId": (str, True),
}
[docs]class LaunchRoleConstraint(AWSObject):
"""
`LaunchRoleConstraint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html>`__
"""
resource_type = "AWS::ServiceCatalog::LaunchRoleConstraint"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"Description": (str, False),
"LocalRoleName": (str, False),
"PortfolioId": (str, True),
"ProductId": (str, True),
"RoleArn": (str, False),
}
[docs]class LaunchTemplateConstraint(AWSObject):
"""
`LaunchTemplateConstraint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html>`__
"""
resource_type = "AWS::ServiceCatalog::LaunchTemplateConstraint"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"Description": (str, False),
"PortfolioId": (str, True),
"ProductId": (str, True),
"Rules": (str, True),
}
[docs]class Portfolio(AWSObject):
"""
`Portfolio <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html>`__
"""
resource_type = "AWS::ServiceCatalog::Portfolio"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"Description": (str, False),
"DisplayName": (str, True),
"ProviderName": (str, True),
"Tags": (Tags, False),
}
[docs]class PortfolioPrincipalAssociation(AWSObject):
"""
`PortfolioPrincipalAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html>`__
"""
resource_type = "AWS::ServiceCatalog::PortfolioPrincipalAssociation"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"PortfolioId": (str, True),
"PrincipalARN": (str, True),
"PrincipalType": (str, True),
}
[docs]class PortfolioProductAssociation(AWSObject):
"""
`PortfolioProductAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html>`__
"""
resource_type = "AWS::ServiceCatalog::PortfolioProductAssociation"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"PortfolioId": (str, True),
"ProductId": (str, True),
"SourcePortfolioId": (str, False),
}
[docs]class PortfolioShare(AWSObject):
"""
`PortfolioShare <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html>`__
"""
resource_type = "AWS::ServiceCatalog::PortfolioShare"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"AccountId": (str, True),
"PortfolioId": (str, True),
"ShareTagOptions": (boolean, False),
}
[docs]class ResourceUpdateConstraint(AWSObject):
"""
`ResourceUpdateConstraint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html>`__
"""
resource_type = "AWS::ServiceCatalog::ResourceUpdateConstraint"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"Description": (str, False),
"PortfolioId": (str, True),
"ProductId": (str, True),
"TagUpdateOnProvisionedProduct": (validate_tag_update, True),
}
[docs]class DefinitionParameter(AWSProperty):
"""
`DefinitionParameter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-serviceaction-definitionparameter.html>`__
"""
props: PropsDictType = {
"Key": (str, True),
"Value": (str, True),
}
[docs]class ServiceAction(AWSObject):
"""
`ServiceAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html>`__
"""
resource_type = "AWS::ServiceCatalog::ServiceAction"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"Definition": ([DefinitionParameter], True),
"DefinitionType": (str, True),
"Description": (str, False),
"Name": (str, True),
}
[docs]class ServiceActionAssociation(AWSObject):
"""
`ServiceActionAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html>`__
"""
resource_type = "AWS::ServiceCatalog::ServiceActionAssociation"
props: PropsDictType = {
"ProductId": (str, True),
"ProvisioningArtifactId": (str, True),
"ServiceActionId": (str, True),
}
[docs]class StackSetConstraint(AWSObject):
"""
`StackSetConstraint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html>`__
"""
resource_type = "AWS::ServiceCatalog::StackSetConstraint"
props: PropsDictType = {
"AcceptLanguage": (str, False),
"AccountList": ([str], True),
"AdminRole": (str, True),
"Description": (str, True),
"ExecutionRole": (str, True),
"PortfolioId": (str, True),
"ProductId": (str, True),
"RegionList": ([str], True),
"StackInstanceControl": (str, True),
}
[docs]class TagOption(AWSObject):
"""
`TagOption <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html>`__
"""
resource_type = "AWS::ServiceCatalog::TagOption"
props: PropsDictType = {
"Active": (boolean, False),
"Key": (str, True),
"Value": (str, True),
}
[docs]class TagOptionAssociation(AWSObject):
"""
`TagOptionAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html>`__
"""
resource_type = "AWS::ServiceCatalog::TagOptionAssociation"
props: PropsDictType = {
"ResourceId": (str, True),
"TagOptionId": (str, True),
}