We recommend new projects start with resources from the AWS provider.
aws-native.ExtensionResource
Explore with Pulumi AI
We recommend new projects start with resources from the AWS provider.
A special resource that enables deploying CloudFormation Extensions (third-party resources). An extension has to be pre-registered in your AWS account in order to use this resource.
Create ExtensionResource Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ExtensionResource(name: string, args: ExtensionResourceArgs, opts?: CustomResourceOptions);
@overload
def ExtensionResource(resource_name: str,
args: ExtensionResourceArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ExtensionResource(resource_name: str,
opts: Optional[ResourceOptions] = None,
properties: Optional[Mapping[str, Any]] = None,
type: Optional[str] = None,
auto_naming: Optional[AutoNamingArgs] = None,
create_only: Optional[Sequence[str]] = None,
tags_property: Optional[str] = None,
tags_style: Optional[str] = None,
write_only: Optional[Sequence[str]] = None)
func NewExtensionResource(ctx *Context, name string, args ExtensionResourceArgs, opts ...ResourceOption) (*ExtensionResource, error)
public ExtensionResource(string name, ExtensionResourceArgs args, CustomResourceOptions? opts = null)
public ExtensionResource(String name, ExtensionResourceArgs args)
public ExtensionResource(String name, ExtensionResourceArgs args, CustomResourceOptions options)
type: aws-native:ExtensionResource
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ExtensionResourceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ExtensionResourceArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ExtensionResourceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ExtensionResourceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ExtensionResourceArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
ExtensionResource Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The ExtensionResource resource accepts the following input properties:
- Properties Dictionary<string, object>
- Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
- Type string
- CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with
AWS::
e.g.AWS::Logs::LogGroup
. Third party resources should use a namespace prefix e.g.MyCompany::MyService::MyResource
. - Auto
Naming Pulumi.Aws Native. Inputs. Auto Naming - Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
- Create
Only List<string> - Property names as defined by
createOnlyProperties
in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in thereplaceOnChanges
resource option too. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
). - string
- Optional name of the property containing the tags. Defaults to "Tags" if the
tagsStyle
is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags. - string
- Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to
keyValueArray
iftagsProperty
is set. This is used to apply default tags to the resource and can be ignored if not using default tags. - Write
Only List<string> - Property names as defined by
writeOnlyProperties
in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
).
- Properties map[string]interface{}
- Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
- Type string
- CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with
AWS::
e.g.AWS::Logs::LogGroup
. Third party resources should use a namespace prefix e.g.MyCompany::MyService::MyResource
. - Auto
Naming AutoNaming Args - Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
- Create
Only []string - Property names as defined by
createOnlyProperties
in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in thereplaceOnChanges
resource option too. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
). - string
- Optional name of the property containing the tags. Defaults to "Tags" if the
tagsStyle
is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags. - string
- Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to
keyValueArray
iftagsProperty
is set. This is used to apply default tags to the resource and can be ignored if not using default tags. - Write
Only []string - Property names as defined by
writeOnlyProperties
in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
).
- properties Map<String,Object>
- Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
- type String
- CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with
AWS::
e.g.AWS::Logs::LogGroup
. Third party resources should use a namespace prefix e.g.MyCompany::MyService::MyResource
. - auto
Naming AutoNaming - Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
- create
Only List<String> - Property names as defined by
createOnlyProperties
in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in thereplaceOnChanges
resource option too. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
). - String
- Optional name of the property containing the tags. Defaults to "Tags" if the
tagsStyle
is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags. - String
- Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to
keyValueArray
iftagsProperty
is set. This is used to apply default tags to the resource and can be ignored if not using default tags. - write
Only List<String> - Property names as defined by
writeOnlyProperties
in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
).
- properties {[key: string]: any}
- Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
- type string
- CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with
AWS::
e.g.AWS::Logs::LogGroup
. Third party resources should use a namespace prefix e.g.MyCompany::MyService::MyResource
. - auto
Naming AutoNaming - Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
- create
Only string[] - Property names as defined by
createOnlyProperties
in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in thereplaceOnChanges
resource option too. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
). - string
- Optional name of the property containing the tags. Defaults to "Tags" if the
tagsStyle
is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags. - string
- Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to
keyValueArray
iftagsProperty
is set. This is used to apply default tags to the resource and can be ignored if not using default tags. - write
Only string[] - Property names as defined by
writeOnlyProperties
in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
).
- properties Mapping[str, Any]
- Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
- type str
- CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with
AWS::
e.g.AWS::Logs::LogGroup
. Third party resources should use a namespace prefix e.g.MyCompany::MyService::MyResource
. - auto_
naming AutoNaming Args - Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
- create_
only Sequence[str] - Property names as defined by
createOnlyProperties
in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in thereplaceOnChanges
resource option too. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
). - str
- Optional name of the property containing the tags. Defaults to "Tags" if the
tagsStyle
is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags. - str
- Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to
keyValueArray
iftagsProperty
is set. This is used to apply default tags to the resource and can be ignored if not using default tags. - write_
only Sequence[str] - Property names as defined by
writeOnlyProperties
in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
).
- properties Map<Any>
- Property bag containing the properties for the resource. These should be defined using the casing expected by the CloudControl API as these values are sent exact as provided.
- type String
- CloudFormation type name. This has three parts, each separated by two colons. For AWS resources this starts with
AWS::
e.g.AWS::Logs::LogGroup
. Third party resources should use a namespace prefix e.g.MyCompany::MyService::MyResource
. - auto
Naming Property Map - Optional auto-naming specification for the resource. If provided and the name is not specified manually, the provider will automatically generate a name based on the Pulumi resource name and a random suffix.
- create
Only List<String> - Property names as defined by
createOnlyProperties
in the CloudFormation schema. Create-only properties can't be set during updates, so will not be included in patches even if they are also marked as write-only, and will cause an error if attempted to be updated. Therefore any property here should also be included in thereplaceOnChanges
resource option too. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
). - String
- Optional name of the property containing the tags. Defaults to "Tags" if the
tagsStyle
is set to either "stringMap" or "keyValueArray". This is used to apply default tags to the resource and can be ignored if not using default tags. - String
- Optional style of tags this resource uses. Valid values are "stringMap", "keyValueArray" or "none". Defaults to
keyValueArray
iftagsProperty
is set. This is used to apply default tags to the resource and can be ignored if not using default tags. - write
Only List<String> - Property names as defined by
writeOnlyProperties
in the CloudFormation schema. Write-only properties are not returned during read operations and have to be included in all update operations as CloudControl itself can't read their previous values. In the CloudFormation schema these are fully qualified property paths (e.g./properties/AccessToken
) whereas here we only include the top-level property name (e.g.AccessToken
).
Outputs
All input properties are implicitly available as output properties. Additionally, the ExtensionResource resource produces the following output properties:
Supporting Types
AutoNaming, AutoNamingArgs
- Max
Length int - The maximum length of the name.
- Min
Length int - The minimum length of the name.
- Property
Name string - The name of the property in the Cloud Control payload that is used to set the name of the resource.
- Max
Length int - The maximum length of the name.
- Min
Length int - The minimum length of the name.
- Property
Name string - The name of the property in the Cloud Control payload that is used to set the name of the resource.
- max
Length Integer - The maximum length of the name.
- min
Length Integer - The minimum length of the name.
- property
Name String - The name of the property in the Cloud Control payload that is used to set the name of the resource.
- max
Length number - The maximum length of the name.
- min
Length number - The minimum length of the name.
- property
Name string - The name of the property in the Cloud Control payload that is used to set the name of the resource.
- max_
length int - The maximum length of the name.
- min_
length int - The minimum length of the name.
- property_
name str - The name of the property in the Cloud Control payload that is used to set the name of the resource.
- max
Length Number - The maximum length of the name.
- min
Length Number - The minimum length of the name.
- property
Name String - The name of the property in the Cloud Control payload that is used to set the name of the resource.
Package Details
- Repository
- AWS Native pulumi/pulumi-aws-native
- License
- Apache-2.0
We recommend new projects start with resources from the AWS provider.