{
  "author": {
    "email": "pahudnet@gmail.com",
    "name": "Pahud Hsieh",
    "roles": [
      "author"
    ]
  },
  "dependencies": {
    "@aws-cdk/aws-ec2": "^1.82.0",
    "@aws-cdk/aws-eks": "^1.82.0",
    "@aws-cdk/aws-iam": "^1.82.0",
    "@aws-cdk/aws-ssm": "^1.82.0",
    "@aws-cdk/core": "^1.82.0",
    "constructs": "^3.2.27"
  },
  "dependencyClosure": {
    "@aws-cdk/assets": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.Assets",
          "packageId": "Amazon.CDK.Assets"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-assets",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.assets"
        },
        "js": {
          "npm": "@aws-cdk/assets"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.assets",
          "module": "aws_cdk.assets"
        }
      }
    },
    "@aws-cdk/aws-acmpca": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.ACMPCA",
          "packageId": "Amazon.CDK.AWS.ACMPCA"
        },
        "java": {
          "maven": {
            "artifactId": "acmpca",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.acmpca"
        },
        "js": {
          "npm": "@aws-cdk/aws-acmpca"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-acmpca",
          "module": "aws_cdk.aws_acmpca"
        }
      }
    },
    "@aws-cdk/aws-applicationautoscaling": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.ApplicationAutoScaling",
          "packageId": "Amazon.CDK.AWS.ApplicationAutoScaling"
        },
        "java": {
          "maven": {
            "artifactId": "applicationautoscaling",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.applicationautoscaling"
        },
        "js": {
          "npm": "@aws-cdk/aws-applicationautoscaling"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-applicationautoscaling",
          "module": "aws_cdk.aws_applicationautoscaling"
        }
      }
    },
    "@aws-cdk/aws-autoscaling": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.AutoScaling",
          "packageId": "Amazon.CDK.AWS.AutoScaling"
        },
        "java": {
          "maven": {
            "artifactId": "autoscaling",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.autoscaling"
        },
        "js": {
          "npm": "@aws-cdk/aws-autoscaling"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-autoscaling",
          "module": "aws_cdk.aws_autoscaling"
        }
      }
    },
    "@aws-cdk/aws-autoscaling-common": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.AutoScaling.Common",
          "packageId": "Amazon.CDK.AWS.AutoScaling.Common"
        },
        "java": {
          "maven": {
            "artifactId": "autoscaling-common",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.autoscaling.common"
        },
        "js": {
          "npm": "@aws-cdk/aws-autoscaling-common"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-autoscaling-common",
          "module": "aws_cdk.aws_autoscaling_common"
        }
      }
    },
    "@aws-cdk/aws-certificatemanager": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.CertificateManager",
          "packageId": "Amazon.CDK.AWS.CertificateManager"
        },
        "java": {
          "maven": {
            "artifactId": "certificatemanager",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.certificatemanager"
        },
        "js": {
          "npm": "@aws-cdk/aws-certificatemanager"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-certificatemanager",
          "module": "aws_cdk.aws_certificatemanager"
        }
      }
    },
    "@aws-cdk/aws-cloudformation": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.CloudFormation",
          "packageId": "Amazon.CDK.AWS.CloudFormation"
        },
        "java": {
          "maven": {
            "artifactId": "cloudformation",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.cloudformation"
        },
        "js": {
          "npm": "@aws-cdk/aws-cloudformation"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-cloudformation",
          "module": "aws_cdk.aws_cloudformation"
        }
      }
    },
    "@aws-cdk/aws-cloudwatch": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.CloudWatch",
          "packageId": "Amazon.CDK.AWS.CloudWatch"
        },
        "java": {
          "maven": {
            "artifactId": "cloudwatch",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.cloudwatch"
        },
        "js": {
          "npm": "@aws-cdk/aws-cloudwatch"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-cloudwatch",
          "module": "aws_cdk.aws_cloudwatch"
        }
      }
    },
    "@aws-cdk/aws-codeguruprofiler": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.CodeGuruProfiler",
          "packageId": "Amazon.CDK.AWS.CodeGuruProfiler"
        },
        "java": {
          "maven": {
            "artifactId": "codeguruprofiler",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.codeguruprofiler"
        },
        "js": {
          "npm": "@aws-cdk/aws-codeguruprofiler"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-codeguruprofiler",
          "module": "aws_cdk.aws_codeguruprofiler"
        }
      }
    },
    "@aws-cdk/aws-codestarnotifications": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.CodeStarNotifications",
          "packageId": "Amazon.CDK.AWS.CodeStarNotifications"
        },
        "java": {
          "maven": {
            "artifactId": "codestarnotifications",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.codestarnotifications"
        },
        "js": {
          "npm": "@aws-cdk/aws-codestarnotifications"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-codestarnotifications",
          "module": "aws_cdk.aws_codestarnotifications"
        }
      }
    },
    "@aws-cdk/aws-ec2": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.EC2",
          "packageId": "Amazon.CDK.AWS.EC2"
        },
        "java": {
          "maven": {
            "artifactId": "ec2",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.ec2"
        },
        "js": {
          "npm": "@aws-cdk/aws-ec2"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-ec2",
          "module": "aws_cdk.aws_ec2"
        }
      }
    },
    "@aws-cdk/aws-ecr": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.ECR",
          "packageId": "Amazon.CDK.AWS.ECR"
        },
        "java": {
          "maven": {
            "artifactId": "ecr",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.ecr"
        },
        "js": {
          "npm": "@aws-cdk/aws-ecr"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-ecr",
          "module": "aws_cdk.aws_ecr"
        }
      }
    },
    "@aws-cdk/aws-ecr-assets": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.Ecr.Assets",
          "packageId": "Amazon.CDK.ECR.Assets"
        },
        "java": {
          "maven": {
            "artifactId": "ecr-assets",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.ecr.assets"
        },
        "js": {
          "npm": "@aws-cdk/aws-ecr-assets"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-ecr-assets",
          "module": "aws_cdk.aws_ecr_assets"
        }
      }
    },
    "@aws-cdk/aws-efs": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.EFS",
          "packageId": "Amazon.CDK.AWS.EFS"
        },
        "java": {
          "maven": {
            "artifactId": "efs",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.efs"
        },
        "js": {
          "npm": "@aws-cdk/aws-efs"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-efs",
          "module": "aws_cdk.aws_efs"
        }
      }
    },
    "@aws-cdk/aws-eks": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.EKS",
          "packageId": "Amazon.CDK.AWS.EKS"
        },
        "java": {
          "maven": {
            "artifactId": "eks",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.eks"
        },
        "js": {
          "npm": "@aws-cdk/aws-eks"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-eks",
          "module": "aws_cdk.aws_eks"
        }
      }
    },
    "@aws-cdk/aws-elasticloadbalancing": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.ElasticLoadBalancing",
          "packageId": "Amazon.CDK.AWS.ElasticLoadBalancing"
        },
        "java": {
          "maven": {
            "artifactId": "elasticloadbalancing",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.elasticloadbalancing"
        },
        "js": {
          "npm": "@aws-cdk/aws-elasticloadbalancing"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-elasticloadbalancing",
          "module": "aws_cdk.aws_elasticloadbalancing"
        }
      }
    },
    "@aws-cdk/aws-elasticloadbalancingv2": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2",
          "packageId": "Amazon.CDK.AWS.ElasticLoadBalancingV2"
        },
        "java": {
          "maven": {
            "artifactId": "elasticloadbalancingv2",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.elasticloadbalancingv2"
        },
        "js": {
          "npm": "@aws-cdk/aws-elasticloadbalancingv2"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-elasticloadbalancingv2",
          "module": "aws_cdk.aws_elasticloadbalancingv2"
        }
      }
    },
    "@aws-cdk/aws-events": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.Events",
          "packageId": "Amazon.CDK.AWS.Events"
        },
        "java": {
          "maven": {
            "artifactId": "events",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.events"
        },
        "js": {
          "npm": "@aws-cdk/aws-events"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-events",
          "module": "aws_cdk.aws_events"
        }
      }
    },
    "@aws-cdk/aws-iam": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.IAM",
          "packageId": "Amazon.CDK.AWS.IAM"
        },
        "java": {
          "maven": {
            "artifactId": "iam",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.iam"
        },
        "js": {
          "npm": "@aws-cdk/aws-iam"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-iam",
          "module": "aws_cdk.aws_iam"
        }
      }
    },
    "@aws-cdk/aws-kms": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.KMS",
          "packageId": "Amazon.CDK.AWS.KMS"
        },
        "java": {
          "maven": {
            "artifactId": "kms",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.kms"
        },
        "js": {
          "npm": "@aws-cdk/aws-kms"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-kms",
          "module": "aws_cdk.aws_kms"
        }
      }
    },
    "@aws-cdk/aws-lambda": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.Lambda",
          "packageId": "Amazon.CDK.AWS.Lambda"
        },
        "java": {
          "maven": {
            "artifactId": "lambda",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.lambda"
        },
        "js": {
          "npm": "@aws-cdk/aws-lambda"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-lambda",
          "module": "aws_cdk.aws_lambda"
        }
      }
    },
    "@aws-cdk/aws-logs": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.Logs",
          "packageId": "Amazon.CDK.AWS.Logs"
        },
        "java": {
          "maven": {
            "artifactId": "logs",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.logs"
        },
        "js": {
          "npm": "@aws-cdk/aws-logs"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-logs",
          "module": "aws_cdk.aws_logs"
        }
      }
    },
    "@aws-cdk/aws-route53": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.Route53",
          "packageId": "Amazon.CDK.AWS.Route53"
        },
        "java": {
          "maven": {
            "artifactId": "route53",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.route53"
        },
        "js": {
          "npm": "@aws-cdk/aws-route53"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-route53",
          "module": "aws_cdk.aws_route53"
        }
      }
    },
    "@aws-cdk/aws-s3": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.S3",
          "packageId": "Amazon.CDK.AWS.S3"
        },
        "java": {
          "maven": {
            "artifactId": "s3",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.s3"
        },
        "js": {
          "npm": "@aws-cdk/aws-s3"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-s3",
          "module": "aws_cdk.aws_s3"
        }
      }
    },
    "@aws-cdk/aws-s3-assets": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.S3.Assets",
          "packageId": "Amazon.CDK.AWS.S3.Assets"
        },
        "java": {
          "maven": {
            "artifactId": "s3-assets",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.s3.assets"
        },
        "js": {
          "npm": "@aws-cdk/aws-s3-assets"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-s3-assets",
          "module": "aws_cdk.aws_s3_assets"
        }
      }
    },
    "@aws-cdk/aws-signer": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.Signer",
          "packageId": "Amazon.CDK.AWS.Signer"
        },
        "java": {
          "maven": {
            "artifactId": "signer",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.signer"
        },
        "js": {
          "npm": "@aws-cdk/aws-signer"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-signer",
          "module": "aws_cdk.aws_signer"
        }
      }
    },
    "@aws-cdk/aws-sns": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.SNS",
          "packageId": "Amazon.CDK.AWS.SNS"
        },
        "java": {
          "maven": {
            "artifactId": "sns",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.sns"
        },
        "js": {
          "npm": "@aws-cdk/aws-sns"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-sns",
          "module": "aws_cdk.aws_sns"
        }
      }
    },
    "@aws-cdk/aws-sqs": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.SQS",
          "packageId": "Amazon.CDK.AWS.SQS"
        },
        "java": {
          "maven": {
            "artifactId": "sqs",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.sqs"
        },
        "js": {
          "npm": "@aws-cdk/aws-sqs"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-sqs",
          "module": "aws_cdk.aws_sqs"
        }
      }
    },
    "@aws-cdk/aws-ssm": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.AWS.SSM",
          "packageId": "Amazon.CDK.AWS.SSM"
        },
        "java": {
          "maven": {
            "artifactId": "ssm",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.services.ssm"
        },
        "js": {
          "npm": "@aws-cdk/aws-ssm"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.aws-ssm",
          "module": "aws_cdk.aws_ssm"
        }
      }
    },
    "@aws-cdk/cloud-assembly-schema": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.CloudAssembly.Schema",
          "packageId": "Amazon.CDK.CloudAssembly.Schema"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-cloud-assembly-schema",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.cloudassembly.schema"
        },
        "js": {
          "npm": "@aws-cdk/cloud-assembly-schema"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.cloud-assembly-schema",
          "module": "aws_cdk.cloud_assembly_schema"
        }
      }
    },
    "@aws-cdk/core": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK",
          "packageId": "Amazon.CDK"
        },
        "java": {
          "maven": {
            "artifactId": "core",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.core"
        },
        "js": {
          "npm": "@aws-cdk/core"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.core",
          "module": "aws_cdk.core"
        }
      }
    },
    "@aws-cdk/custom-resources": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.CustomResources",
          "packageId": "Amazon.CDK.AWS.CustomResources"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-customresources",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.customresources"
        },
        "js": {
          "npm": "@aws-cdk/custom-resources"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.custom-resources",
          "module": "aws_cdk.custom_resources"
        }
      }
    },
    "@aws-cdk/cx-api": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.CXAPI",
          "packageId": "Amazon.CDK.CXAPI"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-cx-api",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.cxapi"
        },
        "js": {
          "npm": "@aws-cdk/cx-api"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.cx-api",
          "module": "aws_cdk.cx_api"
        }
      }
    },
    "@aws-cdk/lambda-layer-awscli": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.LambdaLayer.AwsCli",
          "packageId": "Amazon.CDK.LambdaLayer.AwsCli"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-lambda-layer-awscli",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.lambdalayer.awscli"
        },
        "js": {
          "npm": "@aws-cdk/lambda-layer-awscli"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.lambda-layer-awscli",
          "module": "aws_cdk.lambda_layer_awscli"
        }
      }
    },
    "@aws-cdk/lambda-layer-kubectl": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.LambdaLayer.Kubectl",
          "packageId": "Amazon.CDK.LambdaLayer.Kubectl"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-lambda-layer-kubectl",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.lambdalayer.kubectl"
        },
        "js": {
          "npm": "@aws-cdk/lambda-layer-kubectl"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.lambda-layer-kubectl",
          "module": "aws_cdk.lambda_layer_kubectl"
        }
      }
    },
    "@aws-cdk/lambda-layer-node-proxy-agent": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.LambdaLayer.NodeProxyAgent",
          "packageId": "Amazon.CDK.LambdaLayer.NodeProxyAgent"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-lambda-layer-node-proxy-agent",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.lambda.layer.node.proxy.agent"
        },
        "js": {
          "npm": "@aws-cdk/lambda-layer-node-proxy-agent"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.lambda-layer-node-proxy-agent",
          "module": "aws_cdk.lambda_layer_node_proxy_agent"
        }
      }
    },
    "@aws-cdk/region-info": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.RegionInfo",
          "packageId": "Amazon.CDK.RegionInfo"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-region-info",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.regioninfo"
        },
        "js": {
          "npm": "@aws-cdk/region-info"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 1"
          ],
          "distName": "aws-cdk.region-info",
          "module": "aws_cdk.region_info"
        }
      }
    },
    "constructs": {
      "targets": {
        "dotnet": {
          "namespace": "Constructs",
          "packageId": "Constructs"
        },
        "go": {
          "moduleName": "github.com/aws/constructs-go"
        },
        "java": {
          "maven": {
            "artifactId": "constructs",
            "groupId": "software.constructs"
          },
          "package": "software.constructs"
        },
        "js": {
          "npm": "constructs"
        },
        "python": {
          "distName": "constructs",
          "module": "constructs"
        }
      }
    }
  },
  "description": "A sample JSII construct lib for AWS CDK",
  "docs": {
    "stability": "stable"
  },
  "homepage": "https://github.com/pahud/cdk-eks-spotblocks.git",
  "jsiiVersion": "1.52.0 (build d7c9e27)",
  "keywords": [
    "aws",
    "cdk",
    "eks",
    "spot",
    "spot-blocks"
  ],
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "pacmak": {
        "hasDefaultInterfaces": true
      }
    },
    "tscRootDir": "src"
  },
  "name": "eks-spot-blocks",
  "readme": {
    "markdown": "[![awscdk-jsii-template](https://img.shields.io/badge/built%20with-awscdk--jsii--template-blue)](https://github.com/pahud/awscdk-jsii-template)\n[![NPM version](https://badge.fury.io/js/eks-spot-blocks.svg)](https://badge.fury.io/js/eks-spot-blocks)\n[![PyPI version](https://badge.fury.io/py/eks-spot-blocks.svg)](https://badge.fury.io/py/eks-spot-blocks)\n![Release](https://github.com/pahud/eks-spot-blocks/workflows/Release/badge.svg)\n\n# cdk-eks-spotblocks\n\n\n\n`cdk-eks-spotblocks` is a JSII construct library for AWS CDK to provison Amazon EKS cluster with `EC2 Spot Blocks` for defined workloads with the advantages of ensured availability and considerable price reduction for your kubernetes workload.\n\n![](images/pahud_eks-spot2.svg)\n\n\n## Features\n\n- [x] support the upstream AWS CDK `aws-eks` construct libraries by extending its capabilities\n- [x] `addSpotFleet()` to create your spot fleet for your cluster\n- [x] define your `blockDuration`, `validFrom` and `validUntil` for fine-graned control\n- [x] support any AWS commercial regions which has Amazon EKS and EC2 Spot Block support, including AWS China regions\n\n\n## Sample\n\n```ts\nimport * as eksspot from 'eks-spot-blocks';\nimport * as cdk from '@aws-cdk/core';\nimport * as ec2 from '@aws-cdk/aws-ec2';\n\nconst clusterStack = new eksspot.EksSpotCluster(stack, 'Cluster', {\n  clusterVersion: eks.KubernetesVersion.V1_16,\n});\n\nclusterStack.addSpotFleet('FirstFleet', {\n  blockDuration: eksspot.BlockDuration.SIX_HOURS,\n  targetCapacity: 1,\n  defaultInstanceType: new ec2.InstanceType('p3.2xlarge'),\n  validUntil: clusterStack.addHours(new Date(), 6).toISOString(),\n  terminateInstancesWithExpiration: true\n})\n\nclusterStack.addSpotFleet('SecondFleet', {\n  blockDuration: eksspot.BlockDuration.ONE_HOUR,\n  targetCapacity: 2,\n  defaultInstanceType: new ec2.InstanceType('c5.large'),\n  validUntil: clusterStack.addHours(new Date(), 1).toISOString(),\n  terminateInstancesWithExpiration: true\n})\n```\n\ncheck [eks-spot-blocks-demo](https://github.com/pahud/eks-spot-blocks-demo) for a full AWS CDK demo with this construct library.\n\n\n## Custom AMI support\n\n```ts\nconst clusterStack = new EksSpotCluster(stack, 'Cluster', {\n  clusterVersion: eks.KubernetesVersion.V1_16,\n  customAmiId: 'ami-xxxxxx'\n});\n```\n\n\n## FAQ\n\n### Does `eks-spot-blocks` support existing eks clusters created by `eksctl`, `terraform` or any other tools?\nNo. This construct library does not support existing Amazon EKS clusters. You have to create the cluster as well as the spot fleet altogether in this construct library.\n\n### Can I write the CDK in other languages like `Python` and `Java`?\nNot at this moment. But we plan to publish this construct with `JSII` so we can install this library via `npm`, `pypi`, `maven` or `nuget`.\n\n### How much time can I block the spotfleet?\nYou can block the fleet with hourly increments up to 6 hours.\n\n### What happens after the `blockDuration`?\nSpot Blocks ensure the availability of your spot instances during the `blockDuration` and avoid termination during the price disruption. After the `blockDuration`, by default, your spot instances will still be in `running` state but it doesn't ensure the availability, which means it might be terminated anytime after the `blockDuration`.\n\n### Can I terminate the fleet immediately after the `blockDuration` to save the money?\nYes. Basically you can configure `validFrom`, `validUntil` and `terminateInstancesWithExpiration` to achieve this.\n\nHowever, consider the following scenario\n\n```\n<deploy start at 1:00>|--------(one hour)-----------------------|<2:00>\n                           |<fleet created at 1:05>--------(one-hour block)-------|<2:05>\n```\n\nYour fleet will be terminated at `2:00` rather at `2:05`.\n\n### Are `tains` and `labels` supported?\nYes.\n\n(samples TBD)\n\n\n### Does it support AWS China regions?\nYes. Including **Beijing**(`cn-north-1`) and **Ningxia**(`cn-northwest-1`).\n\n### How much can I save from the EC2 Spot Block compared to the on-demand?\nAccording to this [document](https://aws.amazon.com/ec2/spot/pricing/?nc1=h_ls)\n\n`\nSpot Instances are also available to run for a predefined duration – in hourly increments up to six hours in length – at a discount of up to 30-50% compared to On-Demand pricing.\n`\n\n### Will this library become part of the upstream `aws-eks` construct library?\nProbably. As it's still in the preliminary stage, we are still collecting feedbacks from the community to make `eks-spot-blocks` ready for production workloads. Eventually we will commit this feature to the upstream `aws-eks` construct library in AWS CDK through pull requests.\n\n\n\n"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/pahud/cdk-eks-spotblocks.git"
  },
  "schema": "jsii/0.10.0",
  "targets": {
    "js": {
      "npm": "eks-spot-blocks"
    },
    "python": {
      "distName": "eks-spot-blocks",
      "module": "eks_spot_blocks"
    }
  },
  "types": {
    "eks-spot-blocks.BaseSpotFleetProps": {
      "assembly": "eks-spot-blocks",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.BaseSpotFleetProps",
      "interfaces": [
        "@aws-cdk/core.ResourceProps"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/eks-spot.ts",
        "line": 96
      },
      "name": "BaseSpotFleetProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 98
          },
          "name": "blockDuration",
          "optional": true,
          "type": {
            "fqn": "eks-spot-blocks.BlockDuration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 103
          },
          "name": "bootstrapEnabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 107
          },
          "name": "customAmiId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 97
          },
          "name": "defaultInstanceType",
          "optional": true,
          "type": {
            "fqn": "@aws-cdk/aws-ec2.InstanceType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 99
          },
          "name": "instanceInterruptionBehavior",
          "optional": true,
          "type": {
            "fqn": "eks-spot-blocks.InstanceInterruptionBehavior"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 100
          },
          "name": "instanceRole",
          "optional": true,
          "type": {
            "fqn": "@aws-cdk/aws-iam.Role"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 102
          },
          "name": "mapRole",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 101
          },
          "name": "targetCapacity",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 106
          },
          "name": "terminateInstancesWithExpiration",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 104
          },
          "name": "validFrom",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 105
          },
          "name": "validUntil",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/eks-spot:BaseSpotFleetProps"
    },
    "eks-spot-blocks.BlockDuration": {
      "assembly": "eks-spot-blocks",
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.BlockDuration",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/eks-spot.ts",
        "line": 11
      },
      "members": [
        {
          "docs": {
            "stability": "stable"
          },
          "name": "ONE_HOUR"
        },
        {
          "docs": {
            "stability": "stable"
          },
          "name": "TWO_HOURS"
        },
        {
          "docs": {
            "stability": "stable"
          },
          "name": "THREE_HOURS"
        },
        {
          "docs": {
            "stability": "stable"
          },
          "name": "FOUR_HOURS"
        },
        {
          "docs": {
            "stability": "stable"
          },
          "name": "FIVE_HOURS"
        },
        {
          "docs": {
            "stability": "stable"
          },
          "name": "SIX_HOURS"
        }
      ],
      "name": "BlockDuration",
      "symbolId": "src/eks-spot:BlockDuration"
    },
    "eks-spot-blocks.EksSpotCluster": {
      "assembly": "eks-spot-blocks",
      "base": "@aws-cdk/core.Resource",
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.EksSpotCluster",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/eks-spot.ts",
          "line": 48
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "@aws-cdk/core.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "eks-spot-blocks.EksSpotClusterProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/eks-spot.ts",
        "line": 41
      },
      "methods": [
        {
          "docs": {
            "stability": "stable"
          },
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 80
          },
          "name": "addDays",
          "parameters": [
            {
              "name": "date",
              "type": {
                "primitive": "date"
              }
            },
            {
              "name": "days",
              "type": {
                "primitive": "number"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "date"
            }
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 85
          },
          "name": "addHours",
          "parameters": [
            {
              "name": "date",
              "type": {
                "primitive": "date"
              }
            },
            {
              "name": "hours",
              "type": {
                "primitive": "number"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "date"
            }
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 90
          },
          "name": "addMinutes",
          "parameters": [
            {
              "name": "date",
              "type": {
                "primitive": "date"
              }
            },
            {
              "name": "minutes",
              "type": {
                "primitive": "number"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "date"
            }
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 73
          },
          "name": "addSpotFleet",
          "parameters": [
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "props",
              "type": {
                "fqn": "eks-spot-blocks.BaseSpotFleetProps"
              }
            }
          ]
        }
      ],
      "name": "EksSpotCluster",
      "properties": [
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 42
          },
          "name": "cluster",
          "type": {
            "fqn": "@aws-cdk/aws-eks.Cluster"
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 43
          },
          "name": "clusterVersion",
          "type": {
            "fqn": "@aws-cdk/aws-eks.KubernetesVersion"
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 46
          },
          "name": "vpc",
          "type": {
            "fqn": "@aws-cdk/aws-ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/eks-spot:EksSpotCluster"
    },
    "eks-spot-blocks.EksSpotClusterProps": {
      "assembly": "eks-spot-blocks",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.EksSpotClusterProps",
      "interfaces": [
        "@aws-cdk/core.StackProps"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/eks-spot.ts",
        "line": 26
      },
      "name": "EksSpotClusterProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 28
          },
          "name": "clusterVersion",
          "type": {
            "fqn": "@aws-cdk/aws-eks.KubernetesVersion"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 27
          },
          "name": "clusterAttributes",
          "optional": true,
          "type": {
            "fqn": "@aws-cdk/aws-eks.ClusterAttributes"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- none",
            "remarks": "By default the Amazon EKS-optimized\nAMI will be selected.",
            "stability": "stable",
            "summary": "Specify a custom AMI ID for your spot fleet."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 38
          },
          "name": "customAmiId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 30
          },
          "name": "instanceInterruptionBehavior",
          "optional": true,
          "type": {
            "fqn": "eks-spot-blocks.InstanceInterruptionBehavior"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 29
          },
          "name": "instanceRole",
          "optional": true,
          "type": {
            "fqn": "@aws-cdk/aws-iam.IRole"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 31
          },
          "name": "kubectlEnabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/eks-spot:EksSpotClusterProps"
    },
    "eks-spot-blocks.ILaunchtemplate": {
      "assembly": "eks-spot-blocks",
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.ILaunchtemplate",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/launch-template.ts",
        "line": 8
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "locationInModule": {
            "filename": "src/launch-template.ts",
            "line": 9
          },
          "name": "bind",
          "parameters": [
            {
              "name": "spotfleet",
              "type": {
                "fqn": "eks-spot-blocks.SpotFleet"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "eks-spot-blocks.SpotFleetLaunchTemplateConfig"
            }
          }
        }
      ],
      "name": "ILaunchtemplate",
      "symbolId": "src/launch-template:ILaunchtemplate"
    },
    "eks-spot-blocks.InstanceInterruptionBehavior": {
      "assembly": "eks-spot-blocks",
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.InstanceInterruptionBehavior",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/eks-spot.ts",
        "line": 20
      },
      "members": [
        {
          "docs": {
            "stability": "stable"
          },
          "name": "HIBERNATE"
        },
        {
          "docs": {
            "stability": "stable"
          },
          "name": "STOP"
        },
        {
          "docs": {
            "stability": "stable"
          },
          "name": "TERMINATE"
        }
      ],
      "name": "InstanceInterruptionBehavior",
      "symbolId": "src/eks-spot:InstanceInterruptionBehavior"
    },
    "eks-spot-blocks.LaunchTemplate": {
      "assembly": "eks-spot-blocks",
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.LaunchTemplate",
      "initializer": {
        "docs": {
          "stability": "stable"
        }
      },
      "interfaces": [
        "eks-spot-blocks.ILaunchtemplate"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/launch-template.ts",
        "line": 12
      },
      "methods": [
        {
          "docs": {
            "stability": "stable"
          },
          "locationInModule": {
            "filename": "src/launch-template.ts",
            "line": 13
          },
          "name": "bind",
          "overrides": "eks-spot-blocks.ILaunchtemplate",
          "parameters": [
            {
              "name": "spotfleet",
              "type": {
                "fqn": "eks-spot-blocks.SpotFleet"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "eks-spot-blocks.SpotFleetLaunchTemplateConfig"
            }
          }
        }
      ],
      "name": "LaunchTemplate",
      "symbolId": "src/launch-template:LaunchTemplate"
    },
    "eks-spot-blocks.SpotFleet": {
      "assembly": "eks-spot-blocks",
      "base": "@aws-cdk/core.Resource",
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.SpotFleet",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/eks-spot.ts",
          "line": 125
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "@aws-cdk/core.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "eks-spot-blocks.SpotFleetProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/eks-spot.ts",
        "line": 116
      },
      "name": "SpotFleet",
      "properties": [
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 118
          },
          "name": "clusterStack",
          "type": {
            "fqn": "eks-spot-blocks.EksSpotCluster"
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 119
          },
          "name": "defaultInstanceType",
          "type": {
            "fqn": "@aws-cdk/aws-ec2.InstanceType"
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 117
          },
          "name": "instanceRole",
          "type": {
            "fqn": "@aws-cdk/aws-iam.IRole"
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 122
          },
          "name": "launchTemplate",
          "type": {
            "fqn": "eks-spot-blocks.ILaunchtemplate"
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 121
          },
          "name": "spotFleetId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 120
          },
          "name": "targetCapacity",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/eks-spot:SpotFleet"
    },
    "eks-spot-blocks.SpotFleetLaunchTemplateConfig": {
      "assembly": "eks-spot-blocks",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.SpotFleetLaunchTemplateConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/launch-template.ts",
        "line": 3
      },
      "name": "SpotFleetLaunchTemplateConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/launch-template.ts",
            "line": 5
          },
          "name": "launchTemplate",
          "type": {
            "fqn": "eks-spot-blocks.ILaunchtemplate"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/launch-template.ts",
            "line": 4
          },
          "name": "spotfleet",
          "type": {
            "fqn": "eks-spot-blocks.SpotFleet"
          }
        }
      ],
      "symbolId": "src/launch-template:SpotFleetLaunchTemplateConfig"
    },
    "eks-spot-blocks.SpotFleetProps": {
      "assembly": "eks-spot-blocks",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "eks-spot-blocks.SpotFleetProps",
      "interfaces": [
        "eks-spot-blocks.BaseSpotFleetProps"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/eks-spot.ts",
        "line": 111
      },
      "name": "SpotFleetProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 112
          },
          "name": "cluster",
          "type": {
            "fqn": "eks-spot-blocks.EksSpotCluster"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/eks-spot.ts",
            "line": 113
          },
          "name": "launchTemplate",
          "optional": true,
          "type": {
            "fqn": "eks-spot-blocks.ILaunchtemplate"
          }
        }
      ],
      "symbolId": "src/eks-spot:SpotFleetProps"
    }
  },
  "version": "0.2.373",
  "fingerprint": "C6buwpfgB9Co2DyVGp1NRGN5+JWwYG5OSV+MJ6o7aRQ="
}
