github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/mwaa/environment.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package mwaa 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Creates a MWAA Environment resource. 16 // 17 // ## Example Usage 18 // 19 // A MWAA Environment requires an IAM role (`iam.Role`), two subnets in the private zone (`ec2.Subnet`) and a versioned S3 bucket (`s3.BucketV2`). 20 // 21 // ### Basic Usage 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa" 30 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 31 // 32 // ) 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // _, err := mwaa.NewEnvironment(ctx, "example", &mwaa.EnvironmentArgs{ 36 // DagS3Path: pulumi.String("dags/"), 37 // ExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn), 38 // Name: pulumi.String("example"), 39 // NetworkConfiguration: &mwaa.EnvironmentNetworkConfigurationArgs{ 40 // SecurityGroupIds: pulumi.StringArray{ 41 // exampleAwsSecurityGroup.Id, 42 // }, 43 // SubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:6,24-37), 44 // }, 45 // SourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn), 46 // }) 47 // if err != nil { 48 // return err 49 // } 50 // return nil 51 // }) 52 // } 53 // ``` 54 // <!--End PulumiCodeChooser --> 55 // 56 // ### Example with Airflow configuration options 57 // 58 // <!--Start PulumiCodeChooser --> 59 // ```go 60 // package main 61 // 62 // import ( 63 // 64 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa" 65 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 66 // 67 // ) 68 // func main() { 69 // pulumi.Run(func(ctx *pulumi.Context) error { 70 // _, err := mwaa.NewEnvironment(ctx, "example", &mwaa.EnvironmentArgs{ 71 // AirflowConfigurationOptions: pulumi.StringMap{ 72 // "core.default_task_retries": pulumi.String("16"), 73 // "core.parallelism": pulumi.String("1"), 74 // }, 75 // DagS3Path: pulumi.String("dags/"), 76 // ExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn), 77 // Name: pulumi.String("example"), 78 // NetworkConfiguration: &mwaa.EnvironmentNetworkConfigurationArgs{ 79 // SecurityGroupIds: pulumi.StringArray{ 80 // exampleAwsSecurityGroup.Id, 81 // }, 82 // SubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:10,24-37), 83 // }, 84 // SourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn), 85 // }) 86 // if err != nil { 87 // return err 88 // } 89 // return nil 90 // }) 91 // } 92 // ``` 93 // <!--End PulumiCodeChooser --> 94 // 95 // ### Example with logging configurations 96 // 97 // Note that Airflow task logs are enabled by default with the `INFO` log level. 98 // 99 // <!--Start PulumiCodeChooser --> 100 // ```go 101 // package main 102 // 103 // import ( 104 // 105 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa" 106 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 107 // 108 // ) 109 // func main() { 110 // pulumi.Run(func(ctx *pulumi.Context) error { 111 // _, err := mwaa.NewEnvironment(ctx, "example", &mwaa.EnvironmentArgs{ 112 // DagS3Path: pulumi.String("dags/"), 113 // ExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn), 114 // LoggingConfiguration: &mwaa.EnvironmentLoggingConfigurationArgs{ 115 // DagProcessingLogs: &mwaa.EnvironmentLoggingConfigurationDagProcessingLogsArgs{ 116 // Enabled: pulumi.Bool(true), 117 // LogLevel: pulumi.String("DEBUG"), 118 // }, 119 // SchedulerLogs: &mwaa.EnvironmentLoggingConfigurationSchedulerLogsArgs{ 120 // Enabled: pulumi.Bool(true), 121 // LogLevel: pulumi.String("INFO"), 122 // }, 123 // TaskLogs: &mwaa.EnvironmentLoggingConfigurationTaskLogsArgs{ 124 // Enabled: pulumi.Bool(true), 125 // LogLevel: pulumi.String("WARNING"), 126 // }, 127 // WebserverLogs: &mwaa.EnvironmentLoggingConfigurationWebserverLogsArgs{ 128 // Enabled: pulumi.Bool(true), 129 // LogLevel: pulumi.String("ERROR"), 130 // }, 131 // WorkerLogs: &mwaa.EnvironmentLoggingConfigurationWorkerLogsArgs{ 132 // Enabled: pulumi.Bool(true), 133 // LogLevel: pulumi.String("CRITICAL"), 134 // }, 135 // }, 136 // Name: pulumi.String("example"), 137 // NetworkConfiguration: &mwaa.EnvironmentNetworkConfigurationArgs{ 138 // SecurityGroupIds: pulumi.StringArray{ 139 // exampleAwsSecurityGroup.Id, 140 // }, 141 // SubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:28,24-37), 142 // }, 143 // SourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn), 144 // }) 145 // if err != nil { 146 // return err 147 // } 148 // return nil 149 // }) 150 // } 151 // ``` 152 // <!--End PulumiCodeChooser --> 153 // 154 // ### Example with tags 155 // 156 // <!--Start PulumiCodeChooser --> 157 // ```go 158 // package main 159 // 160 // import ( 161 // 162 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mwaa" 163 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 164 // 165 // ) 166 // func main() { 167 // pulumi.Run(func(ctx *pulumi.Context) error { 168 // _, err := mwaa.NewEnvironment(ctx, "example", &mwaa.EnvironmentArgs{ 169 // DagS3Path: pulumi.String("dags/"), 170 // ExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn), 171 // Name: pulumi.String("example"), 172 // NetworkConfiguration: &mwaa.EnvironmentNetworkConfigurationArgs{ 173 // SecurityGroupIds: pulumi.StringArray{ 174 // exampleAwsSecurityGroup.Id, 175 // }, 176 // SubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:6,24-37), 177 // }, 178 // SourceBucketArn: pulumi.Any(exampleAwsS3Bucket.Arn), 179 // Tags: pulumi.StringMap{ 180 // "Name": pulumi.String("example"), 181 // "Environment": pulumi.String("production"), 182 // }, 183 // }) 184 // if err != nil { 185 // return err 186 // } 187 // return nil 188 // }) 189 // } 190 // ``` 191 // <!--End PulumiCodeChooser --> 192 // 193 // ## Import 194 // 195 // Using `pulumi import`, import MWAA Environment using `Name`. For example: 196 // 197 // ```sh 198 // $ pulumi import aws:mwaa/environment:Environment example MyAirflowEnvironment 199 // ``` 200 type Environment struct { 201 pulumi.CustomResourceState 202 203 // The `airflowConfigurationOptions` parameter specifies airflow override options. Check the [Official documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html#configuring-env-variables-reference) for all possible configuration options. 204 AirflowConfigurationOptions pulumi.StringMapOutput `pulumi:"airflowConfigurationOptions"` 205 // Airflow version of your environment, will be set by default to the latest version that MWAA supports. 206 AirflowVersion pulumi.StringOutput `pulumi:"airflowVersion"` 207 // The ARN of the MWAA Environment 208 Arn pulumi.StringOutput `pulumi:"arn"` 209 // The Created At date of the MWAA Environment 210 CreatedAt pulumi.StringOutput `pulumi:"createdAt"` 211 // The relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 212 DagS3Path pulumi.StringOutput `pulumi:"dagS3Path"` 213 // The VPC endpoint for the environment's Amazon RDS database 214 // * `logging_configuration[0].<LOG_CONFIGURATION_TYPE>[0].cloud_watch_log_group_arn` - Provides the ARN for the CloudWatch group where the logs will be published 215 DatabaseVpcEndpointService pulumi.StringOutput `pulumi:"databaseVpcEndpointService"` 216 EndpointManagement pulumi.StringOutput `pulumi:"endpointManagement"` 217 // Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. 218 EnvironmentClass pulumi.StringOutput `pulumi:"environmentClass"` 219 // The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. 220 ExecutionRoleArn pulumi.StringOutput `pulumi:"executionRoleArn"` 221 // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. 222 KmsKey pulumi.StringPtrOutput `pulumi:"kmsKey"` 223 LastUpdateds EnvironmentLastUpdatedArrayOutput `pulumi:"lastUpdateds"` 224 // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. 225 LoggingConfiguration EnvironmentLoggingConfigurationOutput `pulumi:"loggingConfiguration"` 226 // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. 227 MaxWorkers pulumi.IntOutput `pulumi:"maxWorkers"` 228 // The minimum number of workers that you want to run in your environment. Will be `1` by default. 229 MinWorkers pulumi.IntOutput `pulumi:"minWorkers"` 230 // The name of the Apache Airflow Environment 231 Name pulumi.StringOutput `pulumi:"name"` 232 // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. 233 NetworkConfiguration EnvironmentNetworkConfigurationOutput `pulumi:"networkConfiguration"` 234 // The plugins.zip file version you want to use. 235 PluginsS3ObjectVersion pulumi.StringOutput `pulumi:"pluginsS3ObjectVersion"` 236 // The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then pluginsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 237 PluginsS3Path pulumi.StringPtrOutput `pulumi:"pluginsS3Path"` 238 // The requirements.txt file version you want to use. 239 RequirementsS3ObjectVersion pulumi.StringOutput `pulumi:"requirementsS3ObjectVersion"` 240 // The relative path to the requirements.txt file on your Amazon S3 storage bucket. For example, requirements.txt. If a relative path is provided in the request, then requirementsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 241 RequirementsS3Path pulumi.StringPtrOutput `pulumi:"requirementsS3Path"` 242 // The number of schedulers that you want to run in your environment. v2.0.2 and above accepts `2` - `5`, default `2`. v1.10.12 accepts `1`. 243 Schedulers pulumi.IntOutput `pulumi:"schedulers"` 244 // The Service Role ARN of the Amazon MWAA Environment 245 ServiceRoleArn pulumi.StringOutput `pulumi:"serviceRoleArn"` 246 // The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname. 247 SourceBucketArn pulumi.StringOutput `pulumi:"sourceBucketArn"` 248 // The version of the startup shell script you want to use. You must specify the version ID that Amazon S3 assigns to the file every time you update the script. 249 StartupScriptS3ObjectVersion pulumi.StringOutput `pulumi:"startupScriptS3ObjectVersion"` 250 // The relative path to the script hosted in your bucket. The script runs as your environment starts before starting the Apache Airflow process. Use this script to install dependencies, modify configuration options, and set environment variables. See [Using a startup script](https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html). Supported for environment versions 2.x and later. 251 StartupScriptS3Path pulumi.StringPtrOutput `pulumi:"startupScriptS3Path"` 252 // The status of the Amazon MWAA Environment 253 Status pulumi.StringOutput `pulumi:"status"` 254 // A map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 255 Tags pulumi.StringMapOutput `pulumi:"tags"` 256 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 257 // 258 // Deprecated: Please use `tags` instead. 259 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 260 // Specifies whether the webserver should be accessible over the internet or via your specified VPC. Possible options: `PRIVATE_ONLY` (default) and `PUBLIC_ONLY`. 261 WebserverAccessMode pulumi.StringOutput `pulumi:"webserverAccessMode"` 262 // The webserver URL of the MWAA Environment 263 WebserverUrl pulumi.StringOutput `pulumi:"webserverUrl"` 264 // The VPC endpoint for the environment's web server 265 WebserverVpcEndpointService pulumi.StringOutput `pulumi:"webserverVpcEndpointService"` 266 // Specifies the start date for the weekly maintenance window. 267 WeeklyMaintenanceWindowStart pulumi.StringOutput `pulumi:"weeklyMaintenanceWindowStart"` 268 } 269 270 // NewEnvironment registers a new resource with the given unique name, arguments, and options. 271 func NewEnvironment(ctx *pulumi.Context, 272 name string, args *EnvironmentArgs, opts ...pulumi.ResourceOption) (*Environment, error) { 273 if args == nil { 274 return nil, errors.New("missing one or more required arguments") 275 } 276 277 if args.DagS3Path == nil { 278 return nil, errors.New("invalid value for required argument 'DagS3Path'") 279 } 280 if args.ExecutionRoleArn == nil { 281 return nil, errors.New("invalid value for required argument 'ExecutionRoleArn'") 282 } 283 if args.NetworkConfiguration == nil { 284 return nil, errors.New("invalid value for required argument 'NetworkConfiguration'") 285 } 286 if args.SourceBucketArn == nil { 287 return nil, errors.New("invalid value for required argument 'SourceBucketArn'") 288 } 289 if args.AirflowConfigurationOptions != nil { 290 args.AirflowConfigurationOptions = pulumi.ToSecret(args.AirflowConfigurationOptions).(pulumi.StringMapInput) 291 } 292 secrets := pulumi.AdditionalSecretOutputs([]string{ 293 "airflowConfigurationOptions", 294 }) 295 opts = append(opts, secrets) 296 opts = internal.PkgResourceDefaultOpts(opts) 297 var resource Environment 298 err := ctx.RegisterResource("aws:mwaa/environment:Environment", name, args, &resource, opts...) 299 if err != nil { 300 return nil, err 301 } 302 return &resource, nil 303 } 304 305 // GetEnvironment gets an existing Environment resource's state with the given name, ID, and optional 306 // state properties that are used to uniquely qualify the lookup (nil if not required). 307 func GetEnvironment(ctx *pulumi.Context, 308 name string, id pulumi.IDInput, state *EnvironmentState, opts ...pulumi.ResourceOption) (*Environment, error) { 309 var resource Environment 310 err := ctx.ReadResource("aws:mwaa/environment:Environment", name, id, state, &resource, opts...) 311 if err != nil { 312 return nil, err 313 } 314 return &resource, nil 315 } 316 317 // Input properties used for looking up and filtering Environment resources. 318 type environmentState struct { 319 // The `airflowConfigurationOptions` parameter specifies airflow override options. Check the [Official documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html#configuring-env-variables-reference) for all possible configuration options. 320 AirflowConfigurationOptions map[string]string `pulumi:"airflowConfigurationOptions"` 321 // Airflow version of your environment, will be set by default to the latest version that MWAA supports. 322 AirflowVersion *string `pulumi:"airflowVersion"` 323 // The ARN of the MWAA Environment 324 Arn *string `pulumi:"arn"` 325 // The Created At date of the MWAA Environment 326 CreatedAt *string `pulumi:"createdAt"` 327 // The relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 328 DagS3Path *string `pulumi:"dagS3Path"` 329 // The VPC endpoint for the environment's Amazon RDS database 330 // * `logging_configuration[0].<LOG_CONFIGURATION_TYPE>[0].cloud_watch_log_group_arn` - Provides the ARN for the CloudWatch group where the logs will be published 331 DatabaseVpcEndpointService *string `pulumi:"databaseVpcEndpointService"` 332 EndpointManagement *string `pulumi:"endpointManagement"` 333 // Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. 334 EnvironmentClass *string `pulumi:"environmentClass"` 335 // The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. 336 ExecutionRoleArn *string `pulumi:"executionRoleArn"` 337 // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. 338 KmsKey *string `pulumi:"kmsKey"` 339 LastUpdateds []EnvironmentLastUpdated `pulumi:"lastUpdateds"` 340 // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. 341 LoggingConfiguration *EnvironmentLoggingConfiguration `pulumi:"loggingConfiguration"` 342 // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. 343 MaxWorkers *int `pulumi:"maxWorkers"` 344 // The minimum number of workers that you want to run in your environment. Will be `1` by default. 345 MinWorkers *int `pulumi:"minWorkers"` 346 // The name of the Apache Airflow Environment 347 Name *string `pulumi:"name"` 348 // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. 349 NetworkConfiguration *EnvironmentNetworkConfiguration `pulumi:"networkConfiguration"` 350 // The plugins.zip file version you want to use. 351 PluginsS3ObjectVersion *string `pulumi:"pluginsS3ObjectVersion"` 352 // The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then pluginsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 353 PluginsS3Path *string `pulumi:"pluginsS3Path"` 354 // The requirements.txt file version you want to use. 355 RequirementsS3ObjectVersion *string `pulumi:"requirementsS3ObjectVersion"` 356 // The relative path to the requirements.txt file on your Amazon S3 storage bucket. For example, requirements.txt. If a relative path is provided in the request, then requirementsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 357 RequirementsS3Path *string `pulumi:"requirementsS3Path"` 358 // The number of schedulers that you want to run in your environment. v2.0.2 and above accepts `2` - `5`, default `2`. v1.10.12 accepts `1`. 359 Schedulers *int `pulumi:"schedulers"` 360 // The Service Role ARN of the Amazon MWAA Environment 361 ServiceRoleArn *string `pulumi:"serviceRoleArn"` 362 // The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname. 363 SourceBucketArn *string `pulumi:"sourceBucketArn"` 364 // The version of the startup shell script you want to use. You must specify the version ID that Amazon S3 assigns to the file every time you update the script. 365 StartupScriptS3ObjectVersion *string `pulumi:"startupScriptS3ObjectVersion"` 366 // The relative path to the script hosted in your bucket. The script runs as your environment starts before starting the Apache Airflow process. Use this script to install dependencies, modify configuration options, and set environment variables. See [Using a startup script](https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html). Supported for environment versions 2.x and later. 367 StartupScriptS3Path *string `pulumi:"startupScriptS3Path"` 368 // The status of the Amazon MWAA Environment 369 Status *string `pulumi:"status"` 370 // A map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 371 Tags map[string]string `pulumi:"tags"` 372 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 373 // 374 // Deprecated: Please use `tags` instead. 375 TagsAll map[string]string `pulumi:"tagsAll"` 376 // Specifies whether the webserver should be accessible over the internet or via your specified VPC. Possible options: `PRIVATE_ONLY` (default) and `PUBLIC_ONLY`. 377 WebserverAccessMode *string `pulumi:"webserverAccessMode"` 378 // The webserver URL of the MWAA Environment 379 WebserverUrl *string `pulumi:"webserverUrl"` 380 // The VPC endpoint for the environment's web server 381 WebserverVpcEndpointService *string `pulumi:"webserverVpcEndpointService"` 382 // Specifies the start date for the weekly maintenance window. 383 WeeklyMaintenanceWindowStart *string `pulumi:"weeklyMaintenanceWindowStart"` 384 } 385 386 type EnvironmentState struct { 387 // The `airflowConfigurationOptions` parameter specifies airflow override options. Check the [Official documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html#configuring-env-variables-reference) for all possible configuration options. 388 AirflowConfigurationOptions pulumi.StringMapInput 389 // Airflow version of your environment, will be set by default to the latest version that MWAA supports. 390 AirflowVersion pulumi.StringPtrInput 391 // The ARN of the MWAA Environment 392 Arn pulumi.StringPtrInput 393 // The Created At date of the MWAA Environment 394 CreatedAt pulumi.StringPtrInput 395 // The relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 396 DagS3Path pulumi.StringPtrInput 397 // The VPC endpoint for the environment's Amazon RDS database 398 // * `logging_configuration[0].<LOG_CONFIGURATION_TYPE>[0].cloud_watch_log_group_arn` - Provides the ARN for the CloudWatch group where the logs will be published 399 DatabaseVpcEndpointService pulumi.StringPtrInput 400 EndpointManagement pulumi.StringPtrInput 401 // Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. 402 EnvironmentClass pulumi.StringPtrInput 403 // The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. 404 ExecutionRoleArn pulumi.StringPtrInput 405 // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. 406 KmsKey pulumi.StringPtrInput 407 LastUpdateds EnvironmentLastUpdatedArrayInput 408 // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. 409 LoggingConfiguration EnvironmentLoggingConfigurationPtrInput 410 // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. 411 MaxWorkers pulumi.IntPtrInput 412 // The minimum number of workers that you want to run in your environment. Will be `1` by default. 413 MinWorkers pulumi.IntPtrInput 414 // The name of the Apache Airflow Environment 415 Name pulumi.StringPtrInput 416 // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. 417 NetworkConfiguration EnvironmentNetworkConfigurationPtrInput 418 // The plugins.zip file version you want to use. 419 PluginsS3ObjectVersion pulumi.StringPtrInput 420 // The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then pluginsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 421 PluginsS3Path pulumi.StringPtrInput 422 // The requirements.txt file version you want to use. 423 RequirementsS3ObjectVersion pulumi.StringPtrInput 424 // The relative path to the requirements.txt file on your Amazon S3 storage bucket. For example, requirements.txt. If a relative path is provided in the request, then requirementsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 425 RequirementsS3Path pulumi.StringPtrInput 426 // The number of schedulers that you want to run in your environment. v2.0.2 and above accepts `2` - `5`, default `2`. v1.10.12 accepts `1`. 427 Schedulers pulumi.IntPtrInput 428 // The Service Role ARN of the Amazon MWAA Environment 429 ServiceRoleArn pulumi.StringPtrInput 430 // The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname. 431 SourceBucketArn pulumi.StringPtrInput 432 // The version of the startup shell script you want to use. You must specify the version ID that Amazon S3 assigns to the file every time you update the script. 433 StartupScriptS3ObjectVersion pulumi.StringPtrInput 434 // The relative path to the script hosted in your bucket. The script runs as your environment starts before starting the Apache Airflow process. Use this script to install dependencies, modify configuration options, and set environment variables. See [Using a startup script](https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html). Supported for environment versions 2.x and later. 435 StartupScriptS3Path pulumi.StringPtrInput 436 // The status of the Amazon MWAA Environment 437 Status pulumi.StringPtrInput 438 // A map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 439 Tags pulumi.StringMapInput 440 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 441 // 442 // Deprecated: Please use `tags` instead. 443 TagsAll pulumi.StringMapInput 444 // Specifies whether the webserver should be accessible over the internet or via your specified VPC. Possible options: `PRIVATE_ONLY` (default) and `PUBLIC_ONLY`. 445 WebserverAccessMode pulumi.StringPtrInput 446 // The webserver URL of the MWAA Environment 447 WebserverUrl pulumi.StringPtrInput 448 // The VPC endpoint for the environment's web server 449 WebserverVpcEndpointService pulumi.StringPtrInput 450 // Specifies the start date for the weekly maintenance window. 451 WeeklyMaintenanceWindowStart pulumi.StringPtrInput 452 } 453 454 func (EnvironmentState) ElementType() reflect.Type { 455 return reflect.TypeOf((*environmentState)(nil)).Elem() 456 } 457 458 type environmentArgs struct { 459 // The `airflowConfigurationOptions` parameter specifies airflow override options. Check the [Official documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html#configuring-env-variables-reference) for all possible configuration options. 460 AirflowConfigurationOptions map[string]string `pulumi:"airflowConfigurationOptions"` 461 // Airflow version of your environment, will be set by default to the latest version that MWAA supports. 462 AirflowVersion *string `pulumi:"airflowVersion"` 463 // The relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 464 DagS3Path string `pulumi:"dagS3Path"` 465 EndpointManagement *string `pulumi:"endpointManagement"` 466 // Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. 467 EnvironmentClass *string `pulumi:"environmentClass"` 468 // The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. 469 ExecutionRoleArn string `pulumi:"executionRoleArn"` 470 // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. 471 KmsKey *string `pulumi:"kmsKey"` 472 // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. 473 LoggingConfiguration *EnvironmentLoggingConfiguration `pulumi:"loggingConfiguration"` 474 // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. 475 MaxWorkers *int `pulumi:"maxWorkers"` 476 // The minimum number of workers that you want to run in your environment. Will be `1` by default. 477 MinWorkers *int `pulumi:"minWorkers"` 478 // The name of the Apache Airflow Environment 479 Name *string `pulumi:"name"` 480 // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. 481 NetworkConfiguration EnvironmentNetworkConfiguration `pulumi:"networkConfiguration"` 482 // The plugins.zip file version you want to use. 483 PluginsS3ObjectVersion *string `pulumi:"pluginsS3ObjectVersion"` 484 // The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then pluginsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 485 PluginsS3Path *string `pulumi:"pluginsS3Path"` 486 // The requirements.txt file version you want to use. 487 RequirementsS3ObjectVersion *string `pulumi:"requirementsS3ObjectVersion"` 488 // The relative path to the requirements.txt file on your Amazon S3 storage bucket. For example, requirements.txt. If a relative path is provided in the request, then requirementsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 489 RequirementsS3Path *string `pulumi:"requirementsS3Path"` 490 // The number of schedulers that you want to run in your environment. v2.0.2 and above accepts `2` - `5`, default `2`. v1.10.12 accepts `1`. 491 Schedulers *int `pulumi:"schedulers"` 492 // The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname. 493 SourceBucketArn string `pulumi:"sourceBucketArn"` 494 // The version of the startup shell script you want to use. You must specify the version ID that Amazon S3 assigns to the file every time you update the script. 495 StartupScriptS3ObjectVersion *string `pulumi:"startupScriptS3ObjectVersion"` 496 // The relative path to the script hosted in your bucket. The script runs as your environment starts before starting the Apache Airflow process. Use this script to install dependencies, modify configuration options, and set environment variables. See [Using a startup script](https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html). Supported for environment versions 2.x and later. 497 StartupScriptS3Path *string `pulumi:"startupScriptS3Path"` 498 // A map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 499 Tags map[string]string `pulumi:"tags"` 500 // Specifies whether the webserver should be accessible over the internet or via your specified VPC. Possible options: `PRIVATE_ONLY` (default) and `PUBLIC_ONLY`. 501 WebserverAccessMode *string `pulumi:"webserverAccessMode"` 502 // Specifies the start date for the weekly maintenance window. 503 WeeklyMaintenanceWindowStart *string `pulumi:"weeklyMaintenanceWindowStart"` 504 } 505 506 // The set of arguments for constructing a Environment resource. 507 type EnvironmentArgs struct { 508 // The `airflowConfigurationOptions` parameter specifies airflow override options. Check the [Official documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html#configuring-env-variables-reference) for all possible configuration options. 509 AirflowConfigurationOptions pulumi.StringMapInput 510 // Airflow version of your environment, will be set by default to the latest version that MWAA supports. 511 AirflowVersion pulumi.StringPtrInput 512 // The relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 513 DagS3Path pulumi.StringInput 514 EndpointManagement pulumi.StringPtrInput 515 // Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. 516 EnvironmentClass pulumi.StringPtrInput 517 // The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. 518 ExecutionRoleArn pulumi.StringInput 519 // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. 520 KmsKey pulumi.StringPtrInput 521 // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. 522 LoggingConfiguration EnvironmentLoggingConfigurationPtrInput 523 // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. 524 MaxWorkers pulumi.IntPtrInput 525 // The minimum number of workers that you want to run in your environment. Will be `1` by default. 526 MinWorkers pulumi.IntPtrInput 527 // The name of the Apache Airflow Environment 528 Name pulumi.StringPtrInput 529 // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. 530 NetworkConfiguration EnvironmentNetworkConfigurationInput 531 // The plugins.zip file version you want to use. 532 PluginsS3ObjectVersion pulumi.StringPtrInput 533 // The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then pluginsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 534 PluginsS3Path pulumi.StringPtrInput 535 // The requirements.txt file version you want to use. 536 RequirementsS3ObjectVersion pulumi.StringPtrInput 537 // The relative path to the requirements.txt file on your Amazon S3 storage bucket. For example, requirements.txt. If a relative path is provided in the request, then requirementsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 538 RequirementsS3Path pulumi.StringPtrInput 539 // The number of schedulers that you want to run in your environment. v2.0.2 and above accepts `2` - `5`, default `2`. v1.10.12 accepts `1`. 540 Schedulers pulumi.IntPtrInput 541 // The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname. 542 SourceBucketArn pulumi.StringInput 543 // The version of the startup shell script you want to use. You must specify the version ID that Amazon S3 assigns to the file every time you update the script. 544 StartupScriptS3ObjectVersion pulumi.StringPtrInput 545 // The relative path to the script hosted in your bucket. The script runs as your environment starts before starting the Apache Airflow process. Use this script to install dependencies, modify configuration options, and set environment variables. See [Using a startup script](https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html). Supported for environment versions 2.x and later. 546 StartupScriptS3Path pulumi.StringPtrInput 547 // A map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 548 Tags pulumi.StringMapInput 549 // Specifies whether the webserver should be accessible over the internet or via your specified VPC. Possible options: `PRIVATE_ONLY` (default) and `PUBLIC_ONLY`. 550 WebserverAccessMode pulumi.StringPtrInput 551 // Specifies the start date for the weekly maintenance window. 552 WeeklyMaintenanceWindowStart pulumi.StringPtrInput 553 } 554 555 func (EnvironmentArgs) ElementType() reflect.Type { 556 return reflect.TypeOf((*environmentArgs)(nil)).Elem() 557 } 558 559 type EnvironmentInput interface { 560 pulumi.Input 561 562 ToEnvironmentOutput() EnvironmentOutput 563 ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput 564 } 565 566 func (*Environment) ElementType() reflect.Type { 567 return reflect.TypeOf((**Environment)(nil)).Elem() 568 } 569 570 func (i *Environment) ToEnvironmentOutput() EnvironmentOutput { 571 return i.ToEnvironmentOutputWithContext(context.Background()) 572 } 573 574 func (i *Environment) ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput { 575 return pulumi.ToOutputWithContext(ctx, i).(EnvironmentOutput) 576 } 577 578 // EnvironmentArrayInput is an input type that accepts EnvironmentArray and EnvironmentArrayOutput values. 579 // You can construct a concrete instance of `EnvironmentArrayInput` via: 580 // 581 // EnvironmentArray{ EnvironmentArgs{...} } 582 type EnvironmentArrayInput interface { 583 pulumi.Input 584 585 ToEnvironmentArrayOutput() EnvironmentArrayOutput 586 ToEnvironmentArrayOutputWithContext(context.Context) EnvironmentArrayOutput 587 } 588 589 type EnvironmentArray []EnvironmentInput 590 591 func (EnvironmentArray) ElementType() reflect.Type { 592 return reflect.TypeOf((*[]*Environment)(nil)).Elem() 593 } 594 595 func (i EnvironmentArray) ToEnvironmentArrayOutput() EnvironmentArrayOutput { 596 return i.ToEnvironmentArrayOutputWithContext(context.Background()) 597 } 598 599 func (i EnvironmentArray) ToEnvironmentArrayOutputWithContext(ctx context.Context) EnvironmentArrayOutput { 600 return pulumi.ToOutputWithContext(ctx, i).(EnvironmentArrayOutput) 601 } 602 603 // EnvironmentMapInput is an input type that accepts EnvironmentMap and EnvironmentMapOutput values. 604 // You can construct a concrete instance of `EnvironmentMapInput` via: 605 // 606 // EnvironmentMap{ "key": EnvironmentArgs{...} } 607 type EnvironmentMapInput interface { 608 pulumi.Input 609 610 ToEnvironmentMapOutput() EnvironmentMapOutput 611 ToEnvironmentMapOutputWithContext(context.Context) EnvironmentMapOutput 612 } 613 614 type EnvironmentMap map[string]EnvironmentInput 615 616 func (EnvironmentMap) ElementType() reflect.Type { 617 return reflect.TypeOf((*map[string]*Environment)(nil)).Elem() 618 } 619 620 func (i EnvironmentMap) ToEnvironmentMapOutput() EnvironmentMapOutput { 621 return i.ToEnvironmentMapOutputWithContext(context.Background()) 622 } 623 624 func (i EnvironmentMap) ToEnvironmentMapOutputWithContext(ctx context.Context) EnvironmentMapOutput { 625 return pulumi.ToOutputWithContext(ctx, i).(EnvironmentMapOutput) 626 } 627 628 type EnvironmentOutput struct{ *pulumi.OutputState } 629 630 func (EnvironmentOutput) ElementType() reflect.Type { 631 return reflect.TypeOf((**Environment)(nil)).Elem() 632 } 633 634 func (o EnvironmentOutput) ToEnvironmentOutput() EnvironmentOutput { 635 return o 636 } 637 638 func (o EnvironmentOutput) ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput { 639 return o 640 } 641 642 // The `airflowConfigurationOptions` parameter specifies airflow override options. Check the [Official documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html#configuring-env-variables-reference) for all possible configuration options. 643 func (o EnvironmentOutput) AirflowConfigurationOptions() pulumi.StringMapOutput { 644 return o.ApplyT(func(v *Environment) pulumi.StringMapOutput { return v.AirflowConfigurationOptions }).(pulumi.StringMapOutput) 645 } 646 647 // Airflow version of your environment, will be set by default to the latest version that MWAA supports. 648 func (o EnvironmentOutput) AirflowVersion() pulumi.StringOutput { 649 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.AirflowVersion }).(pulumi.StringOutput) 650 } 651 652 // The ARN of the MWAA Environment 653 func (o EnvironmentOutput) Arn() pulumi.StringOutput { 654 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 655 } 656 657 // The Created At date of the MWAA Environment 658 func (o EnvironmentOutput) CreatedAt() pulumi.StringOutput { 659 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) 660 } 661 662 // The relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 663 func (o EnvironmentOutput) DagS3Path() pulumi.StringOutput { 664 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.DagS3Path }).(pulumi.StringOutput) 665 } 666 667 // The VPC endpoint for the environment's Amazon RDS database 668 // * `logging_configuration[0].<LOG_CONFIGURATION_TYPE>[0].cloud_watch_log_group_arn` - Provides the ARN for the CloudWatch group where the logs will be published 669 func (o EnvironmentOutput) DatabaseVpcEndpointService() pulumi.StringOutput { 670 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.DatabaseVpcEndpointService }).(pulumi.StringOutput) 671 } 672 673 func (o EnvironmentOutput) EndpointManagement() pulumi.StringOutput { 674 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.EndpointManagement }).(pulumi.StringOutput) 675 } 676 677 // Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. 678 func (o EnvironmentOutput) EnvironmentClass() pulumi.StringOutput { 679 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.EnvironmentClass }).(pulumi.StringOutput) 680 } 681 682 // The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. 683 func (o EnvironmentOutput) ExecutionRoleArn() pulumi.StringOutput { 684 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.ExecutionRoleArn }).(pulumi.StringOutput) 685 } 686 687 // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. 688 func (o EnvironmentOutput) KmsKey() pulumi.StringPtrOutput { 689 return o.ApplyT(func(v *Environment) pulumi.StringPtrOutput { return v.KmsKey }).(pulumi.StringPtrOutput) 690 } 691 692 func (o EnvironmentOutput) LastUpdateds() EnvironmentLastUpdatedArrayOutput { 693 return o.ApplyT(func(v *Environment) EnvironmentLastUpdatedArrayOutput { return v.LastUpdateds }).(EnvironmentLastUpdatedArrayOutput) 694 } 695 696 // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. 697 func (o EnvironmentOutput) LoggingConfiguration() EnvironmentLoggingConfigurationOutput { 698 return o.ApplyT(func(v *Environment) EnvironmentLoggingConfigurationOutput { return v.LoggingConfiguration }).(EnvironmentLoggingConfigurationOutput) 699 } 700 701 // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. 702 func (o EnvironmentOutput) MaxWorkers() pulumi.IntOutput { 703 return o.ApplyT(func(v *Environment) pulumi.IntOutput { return v.MaxWorkers }).(pulumi.IntOutput) 704 } 705 706 // The minimum number of workers that you want to run in your environment. Will be `1` by default. 707 func (o EnvironmentOutput) MinWorkers() pulumi.IntOutput { 708 return o.ApplyT(func(v *Environment) pulumi.IntOutput { return v.MinWorkers }).(pulumi.IntOutput) 709 } 710 711 // The name of the Apache Airflow Environment 712 func (o EnvironmentOutput) Name() pulumi.StringOutput { 713 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 714 } 715 716 // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. 717 func (o EnvironmentOutput) NetworkConfiguration() EnvironmentNetworkConfigurationOutput { 718 return o.ApplyT(func(v *Environment) EnvironmentNetworkConfigurationOutput { return v.NetworkConfiguration }).(EnvironmentNetworkConfigurationOutput) 719 } 720 721 // The plugins.zip file version you want to use. 722 func (o EnvironmentOutput) PluginsS3ObjectVersion() pulumi.StringOutput { 723 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.PluginsS3ObjectVersion }).(pulumi.StringOutput) 724 } 725 726 // The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then pluginsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 727 func (o EnvironmentOutput) PluginsS3Path() pulumi.StringPtrOutput { 728 return o.ApplyT(func(v *Environment) pulumi.StringPtrOutput { return v.PluginsS3Path }).(pulumi.StringPtrOutput) 729 } 730 731 // The requirements.txt file version you want to use. 732 func (o EnvironmentOutput) RequirementsS3ObjectVersion() pulumi.StringOutput { 733 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.RequirementsS3ObjectVersion }).(pulumi.StringOutput) 734 } 735 736 // The relative path to the requirements.txt file on your Amazon S3 storage bucket. For example, requirements.txt. If a relative path is provided in the request, then requirementsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). 737 func (o EnvironmentOutput) RequirementsS3Path() pulumi.StringPtrOutput { 738 return o.ApplyT(func(v *Environment) pulumi.StringPtrOutput { return v.RequirementsS3Path }).(pulumi.StringPtrOutput) 739 } 740 741 // The number of schedulers that you want to run in your environment. v2.0.2 and above accepts `2` - `5`, default `2`. v1.10.12 accepts `1`. 742 func (o EnvironmentOutput) Schedulers() pulumi.IntOutput { 743 return o.ApplyT(func(v *Environment) pulumi.IntOutput { return v.Schedulers }).(pulumi.IntOutput) 744 } 745 746 // The Service Role ARN of the Amazon MWAA Environment 747 func (o EnvironmentOutput) ServiceRoleArn() pulumi.StringOutput { 748 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.ServiceRoleArn }).(pulumi.StringOutput) 749 } 750 751 // The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname. 752 func (o EnvironmentOutput) SourceBucketArn() pulumi.StringOutput { 753 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.SourceBucketArn }).(pulumi.StringOutput) 754 } 755 756 // The version of the startup shell script you want to use. You must specify the version ID that Amazon S3 assigns to the file every time you update the script. 757 func (o EnvironmentOutput) StartupScriptS3ObjectVersion() pulumi.StringOutput { 758 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.StartupScriptS3ObjectVersion }).(pulumi.StringOutput) 759 } 760 761 // The relative path to the script hosted in your bucket. The script runs as your environment starts before starting the Apache Airflow process. Use this script to install dependencies, modify configuration options, and set environment variables. See [Using a startup script](https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html). Supported for environment versions 2.x and later. 762 func (o EnvironmentOutput) StartupScriptS3Path() pulumi.StringPtrOutput { 763 return o.ApplyT(func(v *Environment) pulumi.StringPtrOutput { return v.StartupScriptS3Path }).(pulumi.StringPtrOutput) 764 } 765 766 // The status of the Amazon MWAA Environment 767 func (o EnvironmentOutput) Status() pulumi.StringOutput { 768 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) 769 } 770 771 // A map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 772 func (o EnvironmentOutput) Tags() pulumi.StringMapOutput { 773 return o.ApplyT(func(v *Environment) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 774 } 775 776 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 777 // 778 // Deprecated: Please use `tags` instead. 779 func (o EnvironmentOutput) TagsAll() pulumi.StringMapOutput { 780 return o.ApplyT(func(v *Environment) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 781 } 782 783 // Specifies whether the webserver should be accessible over the internet or via your specified VPC. Possible options: `PRIVATE_ONLY` (default) and `PUBLIC_ONLY`. 784 func (o EnvironmentOutput) WebserverAccessMode() pulumi.StringOutput { 785 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.WebserverAccessMode }).(pulumi.StringOutput) 786 } 787 788 // The webserver URL of the MWAA Environment 789 func (o EnvironmentOutput) WebserverUrl() pulumi.StringOutput { 790 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.WebserverUrl }).(pulumi.StringOutput) 791 } 792 793 // The VPC endpoint for the environment's web server 794 func (o EnvironmentOutput) WebserverVpcEndpointService() pulumi.StringOutput { 795 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.WebserverVpcEndpointService }).(pulumi.StringOutput) 796 } 797 798 // Specifies the start date for the weekly maintenance window. 799 func (o EnvironmentOutput) WeeklyMaintenanceWindowStart() pulumi.StringOutput { 800 return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.WeeklyMaintenanceWindowStart }).(pulumi.StringOutput) 801 } 802 803 type EnvironmentArrayOutput struct{ *pulumi.OutputState } 804 805 func (EnvironmentArrayOutput) ElementType() reflect.Type { 806 return reflect.TypeOf((*[]*Environment)(nil)).Elem() 807 } 808 809 func (o EnvironmentArrayOutput) ToEnvironmentArrayOutput() EnvironmentArrayOutput { 810 return o 811 } 812 813 func (o EnvironmentArrayOutput) ToEnvironmentArrayOutputWithContext(ctx context.Context) EnvironmentArrayOutput { 814 return o 815 } 816 817 func (o EnvironmentArrayOutput) Index(i pulumi.IntInput) EnvironmentOutput { 818 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Environment { 819 return vs[0].([]*Environment)[vs[1].(int)] 820 }).(EnvironmentOutput) 821 } 822 823 type EnvironmentMapOutput struct{ *pulumi.OutputState } 824 825 func (EnvironmentMapOutput) ElementType() reflect.Type { 826 return reflect.TypeOf((*map[string]*Environment)(nil)).Elem() 827 } 828 829 func (o EnvironmentMapOutput) ToEnvironmentMapOutput() EnvironmentMapOutput { 830 return o 831 } 832 833 func (o EnvironmentMapOutput) ToEnvironmentMapOutputWithContext(ctx context.Context) EnvironmentMapOutput { 834 return o 835 } 836 837 func (o EnvironmentMapOutput) MapIndex(k pulumi.StringInput) EnvironmentOutput { 838 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Environment { 839 return vs[0].(map[string]*Environment)[vs[1].(string)] 840 }).(EnvironmentOutput) 841 } 842 843 func init() { 844 pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentInput)(nil)).Elem(), &Environment{}) 845 pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentArrayInput)(nil)).Elem(), EnvironmentArray{}) 846 pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentMapInput)(nil)).Elem(), EnvironmentMap{}) 847 pulumi.RegisterOutputType(EnvironmentOutput{}) 848 pulumi.RegisterOutputType(EnvironmentArrayOutput{}) 849 pulumi.RegisterOutputType(EnvironmentMapOutput{}) 850 }