/// <summary>
        /// Initializes a new instance of the <see cref="ResourceImporter"/> class.
        /// </summary>
        /// <param name="importSettings">The import settings.</param>
        /// <param name="terraformSettings">The terraform settings.</param>
        protected ResourceImporter(
            IResourceImporterSettings importSettings,
            ITerraformExportSettings terraformSettings)
        {
            this.ImportSettings    = importSettings;
            this.TerraformSettings = terraformSettings;

            this.AwsResource =
                this.TerraformSettings.Template.Resources.First(r => r.Name == this.ImportSettings.Resource.LogicalId);
        }
        /// <summary>
        /// Factory to create a resource importer for given resource type.
        /// </summary>
        /// <param name="importSettings">The import settings.</param>
        /// <param name="terraformSettings">The terraform settings.</param>
        /// <returns>Appropriate subtype of <see cref="ResourceImporter"/></returns>
        public static ResourceImporter Create(
            IResourceImporterSettings importSettings,
            ITerraformExportSettings terraformSettings)
        {
            if (!ResourceImporters.ContainsKey(importSettings.Resource.TerraformType))
            {
                return(null);
            }

            return((ResourceImporter)Activator.CreateInstance(
                       ResourceImporters[importSettings.Resource.TerraformType],
                       importSettings,
                       terraformSettings));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="AASAutoScalingPolicyImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public AASAutoScalingPolicyImporter(
     IResourceImporterSettings importSettings,
     ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RouteImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public RouteImporter(
     IResourceImporterSettings importSettings,
     ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CognitoIdentityPoolRoleAttachmentImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public CognitoIdentityPoolRoleAttachmentImporter(
     IResourceImporterSettings importSettings,
     ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ListenerCertificateImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public ListenerCertificateImporter(
     IResourceImporterSettings importSettings,
     ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="NetworkAclEntryImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public NetworkAclEntryImporter(IResourceImporterSettings importSettings, ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AbstractAASImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 protected AbstractAASImporter(IResourceImporterSettings importSettings, ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
Esempio n. 9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ApiGatewayApiDependencyImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public ApiGatewayApiDependencyImporter(
     IResourceImporterSettings importSettings,
     ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ApiGatewayMethodImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public ApiGatewayMethodImporter(IResourceImporterSettings importSettings, ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
Esempio n. 11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LambdaPermissionImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public LambdaPermissionImporter(IResourceImporterSettings importSettings, ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ApiGatewayBasePathMappingImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public ApiGatewayBasePathMappingImporter(
     IResourceImporterSettings importSettings,
     ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
Esempio n. 13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="IAMManagedPolicyImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public IAMManagedPolicyImporter(IResourceImporterSettings importSettings, ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
Esempio n. 14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ApiGatewayUsagePlanKeyImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public ApiGatewayUsagePlanKeyImporter(
     IResourceImporterSettings importSettings,
     ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
Esempio n. 15
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CognitoUserGroupImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public CognitoUserGroupImporter(IResourceImporterSettings importSettings, ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DBOptionGroupImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public DBOptionGroupImporter(IResourceImporterSettings importSettings, ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AASServiceScalableTargetImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public AASServiceScalableTargetImporter(IResourceImporterSettings importSettings, ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }
Esempio n. 18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RouteTableAssociationImporter"/> class.
 /// </summary>
 /// <param name="importSettings">The import settings.</param>
 /// <param name="terraformSettings">The terraform settings.</param>
 public RouteTableAssociationImporter(
     IResourceImporterSettings importSettings,
     ITerraformExportSettings terraformSettings)
     : base(importSettings, terraformSettings)
 {
 }