# Info: AWS provider dependencies for batch provisioning workflows (Provisioning) # Author: Claude Code Agent 7 # Release: 2.0.0 # Date: 2025-09-25 import provisioning schema NetworkDependencies: """VPC and networking dependencies""" vpc_first: bool = True subnets_require_vpc: bool = True igw_for_public: bool = True route_tables_auto: bool = True nacls_after_subnets: bool = True network_timeout: int = 10 schema SecurityDependencies: """Security Group dependencies""" requires_vpc: bool = True cross_references: bool = True batch_size: int = 20 max_rules_per_group: int = 60 schema InstanceDependencies: """EC2 instance dependencies""" requires: [str] = ["subnets", "security_groups", "key_pairs"] launch_template_support: bool = True batch_size: int = 10 max_concurrent_per_az: int = 20 launch_timeout: int = 10 placement_groups: bool = True schema VolumeDependencies: """EBS volume dependencies""" independent_creation: bool = True attach_requires_running: bool = False concurrent_snapshots: bool = True batch_size: int = 15 single_az_restriction: bool = True schema ApiLimits: """API rate limits and constraints""" ec2_requests_per_second: int = 20 vpc_requests_per_second: int = 10 ebs_requests_per_second: int = 10 burst_multiplier: float = 2 throttle_backoff: int = 1000 max_retries: int = 5 regional_limits: bool = True schema SharedResources: """Shared resources across accounts/regions""" amis_shareable: bool = True snapshots_shareable: bool = True keypairs_regional: bool = True vpcs_isolated: bool = True sgs_vpc_scoped: bool = True schema Lifecycle: """Resource lifecycle management""" safe_delete: [str] = ["instances", "volumes", "snapshots"] dependency_check: [str] = ["vpc", "subnets", "security_groups"] cost_monitoring: [str] = ["instances", "volumes", "nat_gateways", "load_balancers"] cleanup_order: [str] = ["load_balancers", "volumes", "instances", "key_pairs", "security_groups", "internet_gateways", "subnets", "vpc"] schema CrossProvider: """Cross-provider compatibility""" upcloud_compatible: bool = True local_compatible: bool = True hybrid_deployments: bool = True naming_restrictions: [str] = ["aws-", "amazon-"] mandatory_tags: [str] = ["Project", "Environment", "ManagedBy"] schema AvailabilityZones: """Availability Zone considerations""" multi_az_distribution: bool = True min_az_count: int = 2 max_az_count: int = 3 affinity_groups: bool = True schema Validation: """Validation and compliance""" quota_validation: bool = True permission_validation: bool = True regional_limits: bool = True compliance_checks: bool = True cost_estimation: bool = True schema AWSDependencies: """ AWS provider dependency management for batch workflows """ # Resource creation order and dependencies resource_order: [str] = ["vpc", "subnets", "internet_gateways", "security_groups", "key_pairs", "instances", "volumes", "load_balancers"] # Configuration sections network_dependencies: NetworkDependencies = NetworkDependencies {} security_dependencies: SecurityDependencies = SecurityDependencies {} instance_dependencies: InstanceDependencies = InstanceDependencies {} volume_dependencies: VolumeDependencies = VolumeDependencies {} api_limits: ApiLimits = ApiLimits {} shared_resources: SharedResources = SharedResources {} lifecycle: Lifecycle = Lifecycle {} cross_provider: CrossProvider = CrossProvider {} availability_zones: AvailabilityZones = AvailabilityZones {} validation: Validation = Validation {} # Default dependency configuration for AWS provider aws_dependencies: AWSDependencies = AWSDependencies {}