{
    "name": "mailgun",
    "description": "A Pulumi package for creating and managing Mailgun resources.",
    "keywords": [
        "pulumi",
        "mailgun"
    ],
    "homepage": "https://pulumi.io",
    "license": "Apache-2.0",
    "attribution": "This Pulumi package is based on the [`mailgun` Terraform Provider](https://github.com/wgebis/terraform-provider-mailgun).",
    "repository": "https://github.com/pulumi/pulumi-mailgun",
    "meta": {
        "moduleFormat": "(.*)(?:/[^/]*)"
    },
    "language": {
        "csharp": {
            "packageReferences": {
                "Pulumi": "3.*"
            },
            "namespaces": {
                "mailgun": "Mailgun"
            },
            "compatibility": "tfbridge20",
            "respectSchemaVersion": true
        },
        "go": {
            "importBasePath": "github.com/pulumi/pulumi-mailgun/sdk/v3/go/mailgun",
            "generateResourceContainerTypes": true,
            "generateExtraInputTypes": true,
            "respectSchemaVersion": true
        },
        "nodejs": {
            "packageDescription": "A Pulumi package for creating and managing Mailgun resources.",
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/wgebis/terraform-provider-mailgun)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-mailgun` repo](https://github.com/pulumi/pulumi-mailgun/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-mailgun` repo](https://github.com/wgebis/terraform-provider-mailgun/issues).",
            "devDependencies": {
                "@types/mime": "^2.0.0",
                "@types/node": "^10.0.0"
            },
            "compatibility": "tfbridge20",
            "disableUnionOutputTypes": true,
            "respectSchemaVersion": true
        },
        "python": {
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/wgebis/terraform-provider-mailgun)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-mailgun` repo](https://github.com/pulumi/pulumi-mailgun/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-mailgun` repo](https://github.com/wgebis/terraform-provider-mailgun/issues).",
            "compatibility": "tfbridge20",
            "respectSchemaVersion": true,
            "pyproject": {
                "enabled": true
            }
        }
    },
    "config": {
        "variables": {
            "apiKey": {
                "type": "string"
            }
        },
        "defaults": [
            "apiKey"
        ]
    },
    "types": {
        "mailgun:index/DomainReceivingRecord:DomainReceivingRecord": {
            "properties": {
                "id": {
                    "type": "string"
                },
                "priority": {
                    "type": "string",
                    "description": "The priority of the record.\n"
                },
                "recordType": {
                    "type": "string",
                    "description": "The record type.\n"
                },
                "valid": {
                    "type": "string",
                    "description": "`\"valid\"` if the record is valid.\n"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the record.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "id",
                        "priority",
                        "recordType",
                        "valid",
                        "value"
                    ]
                }
            }
        },
        "mailgun:index/DomainReceivingRecordsSet:DomainReceivingRecordsSet": {
            "properties": {
                "id": {
                    "type": "string"
                },
                "priority": {
                    "type": "string",
                    "description": "The priority of the record.\n"
                },
                "recordType": {
                    "type": "string",
                    "description": "The record type.\n"
                },
                "valid": {
                    "type": "string",
                    "description": "`\"valid\"` if the record is valid.\n"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the record.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "id",
                        "priority",
                        "recordType",
                        "valid",
                        "value"
                    ]
                }
            }
        },
        "mailgun:index/DomainSendingRecord:DomainSendingRecord": {
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string",
                    "description": "The domain to add to Mailgun\n"
                },
                "recordType": {
                    "type": "string",
                    "description": "The record type.\n"
                },
                "valid": {
                    "type": "string",
                    "description": "`\"valid\"` if the record is valid.\n"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the record.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "id",
                        "name",
                        "recordType",
                        "valid",
                        "value"
                    ]
                }
            }
        },
        "mailgun:index/DomainSendingRecordsSet:DomainSendingRecordsSet": {
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string",
                    "description": "The domain to add to Mailgun\n"
                },
                "recordType": {
                    "type": "string",
                    "description": "The record type.\n"
                },
                "valid": {
                    "type": "string",
                    "description": "`\"valid\"` if the record is valid.\n"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the record.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "id",
                        "name",
                        "recordType",
                        "valid",
                        "value"
                    ]
                }
            }
        },
        "mailgun:index/getDomainReceivingRecord:getDomainReceivingRecord": {
            "properties": {
                "id": {
                    "type": "string"
                },
                "priority": {
                    "type": "string",
                    "description": "The priority of the record.\n"
                },
                "recordType": {
                    "type": "string",
                    "description": "The record type.\n"
                },
                "valid": {
                    "type": "string",
                    "description": "`\"valid\"` if the record is valid.\n"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the record.\n"
                }
            },
            "type": "object",
            "required": [
                "id",
                "priority",
                "recordType",
                "valid",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "mailgun:index/getDomainReceivingRecordsSet:getDomainReceivingRecordsSet": {
            "properties": {
                "id": {
                    "type": "string"
                },
                "priority": {
                    "type": "string",
                    "description": "The priority of the record.\n"
                },
                "recordType": {
                    "type": "string",
                    "description": "The record type.\n"
                },
                "valid": {
                    "type": "string",
                    "description": "`\"valid\"` if the record is valid.\n"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the record.\n"
                }
            },
            "type": "object",
            "required": [
                "id",
                "priority",
                "recordType",
                "valid",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "mailgun:index/getDomainSendingRecord:getDomainSendingRecord": {
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the domain.\n"
                },
                "recordType": {
                    "type": "string",
                    "description": "The record type.\n"
                },
                "valid": {
                    "type": "string",
                    "description": "`\"valid\"` if the record is valid.\n"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the record.\n"
                }
            },
            "type": "object",
            "required": [
                "id",
                "name",
                "recordType",
                "valid",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "mailgun:index/getDomainSendingRecordsSet:getDomainSendingRecordsSet": {
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the domain.\n"
                },
                "recordType": {
                    "type": "string",
                    "description": "The record type.\n"
                },
                "valid": {
                    "type": "string",
                    "description": "`\"valid\"` if the record is valid.\n"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the record.\n"
                }
            },
            "type": "object",
            "required": [
                "id",
                "name",
                "recordType",
                "valid",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        }
    },
    "provider": {
        "description": "The provider type for the mailgun package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
        "properties": {
            "apiKey": {
                "type": "string"
            }
        },
        "inputProperties": {
            "apiKey": {
                "type": "string"
            }
        },
        "methods": {
            "terraformConfig": "pulumi:providers:mailgun/terraformConfig"
        }
    },
    "resources": {
        "mailgun:index/apiKey:ApiKey": {
            "description": "Provides a Mailgun API key resource. This can be used to  create and manage API keys on Mailgun.\n\n\u003e **Note:** Please note that due to the limitations of the Terraform SDK v2 this provider uses, the removal of API keys\nwhich have their expiration set cannot be handled properly after expiration. In order to remove such expired keys, it is\nrecommended to use `terraform state rm`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mailgun from \"@pulumi/mailgun\";\n\n// Create a new Mailgun API key\nconst someKey = new mailgun.ApiKey(\"some_key\", {\n    role: \"basic\",\n    kind: \"user\",\n    description: \"Some key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mailgun as mailgun\n\n# Create a new Mailgun API key\nsome_key = mailgun.ApiKey(\"some_key\",\n    role=\"basic\",\n    kind=\"user\",\n    description=\"Some key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mailgun = Pulumi.Mailgun;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new Mailgun API key\n    var someKey = new Mailgun.ApiKey(\"some_key\", new()\n    {\n        Role = \"basic\",\n        Kind = \"user\",\n        Description = \"Some key\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mailgun/sdk/v3/go/mailgun\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Mailgun API key\n\t\t_, err := mailgun.NewApiKey(ctx, \"some_key\", \u0026mailgun.ApiKeyArgs{\n\t\t\tRole:        pulumi.String(\"basic\"),\n\t\t\tKind:        pulumi.String(\"user\"),\n\t\t\tDescription: pulumi.String(\"Some key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mailgun.ApiKey;\nimport com.pulumi.mailgun.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new Mailgun API key\n        var someKey = new ApiKey(\"someKey\", ApiKeyArgs.builder()\n            .role(\"basic\")\n            .kind(\"user\")\n            .description(\"Some key\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new Mailgun API key\n  someKey:\n    type: mailgun:ApiKey\n    name: some_key\n    properties:\n      role: basic\n      kind: user\n      description: Some key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Key description.\n"
                },
                "disabledReason": {
                    "type": "string",
                    "description": "The reason for the key's disablement.\n"
                },
                "domainName": {
                    "type": "string",
                    "description": "Web domain to associate with the key, for keys of \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e kind.\n"
                },
                "email": {
                    "type": "string",
                    "description": "API key user's email address; should be provided for all keys of \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e kind.\n"
                },
                "expiresAt": {
                    "type": "integer",
                    "description": "When the key will expire.\n"
                },
                "isDisabled": {
                    "type": "boolean",
                    "description": "Whether or not the key is disabled from use.\n"
                },
                "kind": {
                    "type": "string",
                    "description": "(Enum:\u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e). API key type. Default: \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e.\n"
                },
                "region": {
                    "type": "string",
                    "description": "The region where domain will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n"
                },
                "requestor": {
                    "type": "string",
                    "description": "An email address associated with the key.\n"
                },
                "role": {
                    "type": "string",
                    "description": "(Enum: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sending`\" pulumi-lang-dotnet=\"`Sending`\" pulumi-lang-go=\"`sending`\" pulumi-lang-python=\"`sending`\" pulumi-lang-yaml=\"`sending`\" pulumi-lang-java=\"`sending`\"\u003e`sending`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`support`\" pulumi-lang-dotnet=\"`Support`\" pulumi-lang-go=\"`support`\" pulumi-lang-python=\"`support`\" pulumi-lang-yaml=\"`support`\" pulumi-lang-java=\"`support`\"\u003e`support`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e) Key role.\n"
                },
                "secret": {
                    "type": "string",
                    "description": "The full API key secret in plain text.\n",
                    "secret": true
                },
                "userId": {
                    "type": "string",
                    "description": "API key user's string user ID; should be provided for all keys of \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e kind.\n"
                },
                "userName": {
                    "type": "string",
                    "description": "API key user's name.\n"
                }
            },
            "required": [
                "disabledReason",
                "isDisabled",
                "requestor",
                "role",
                "secret"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Key description.\n",
                    "willReplaceOnChanges": true
                },
                "domainName": {
                    "type": "string",
                    "description": "Web domain to associate with the key, for keys of \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e kind.\n",
                    "willReplaceOnChanges": true
                },
                "email": {
                    "type": "string",
                    "description": "API key user's email address; should be provided for all keys of \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e kind.\n",
                    "willReplaceOnChanges": true
                },
                "expiresAt": {
                    "type": "integer",
                    "description": "When the key will expire.\n",
                    "willReplaceOnChanges": true
                },
                "kind": {
                    "type": "string",
                    "description": "(Enum:\u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e). API key type. Default: \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                },
                "region": {
                    "type": "string",
                    "description": "The region where domain will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                },
                "role": {
                    "type": "string",
                    "description": "(Enum: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sending`\" pulumi-lang-dotnet=\"`Sending`\" pulumi-lang-go=\"`sending`\" pulumi-lang-python=\"`sending`\" pulumi-lang-yaml=\"`sending`\" pulumi-lang-java=\"`sending`\"\u003e`sending`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`support`\" pulumi-lang-dotnet=\"`Support`\" pulumi-lang-go=\"`support`\" pulumi-lang-python=\"`support`\" pulumi-lang-yaml=\"`support`\" pulumi-lang-java=\"`support`\"\u003e`support`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e) Key role.\n",
                    "willReplaceOnChanges": true
                },
                "userId": {
                    "type": "string",
                    "description": "API key user's string user ID; should be provided for all keys of \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e kind.\n",
                    "willReplaceOnChanges": true
                },
                "userName": {
                    "type": "string",
                    "description": "API key user's name.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "role"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ApiKey resources.\n",
                "properties": {
                    "description": {
                        "type": "string",
                        "description": "Key description.\n",
                        "willReplaceOnChanges": true
                    },
                    "disabledReason": {
                        "type": "string",
                        "description": "The reason for the key's disablement.\n"
                    },
                    "domainName": {
                        "type": "string",
                        "description": "Web domain to associate with the key, for keys of \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e kind.\n",
                        "willReplaceOnChanges": true
                    },
                    "email": {
                        "type": "string",
                        "description": "API key user's email address; should be provided for all keys of \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e kind.\n",
                        "willReplaceOnChanges": true
                    },
                    "expiresAt": {
                        "type": "integer",
                        "description": "When the key will expire.\n",
                        "willReplaceOnChanges": true
                    },
                    "isDisabled": {
                        "type": "boolean",
                        "description": "Whether or not the key is disabled from use.\n"
                    },
                    "kind": {
                        "type": "string",
                        "description": "(Enum:\u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e). API key type. Default: \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "region": {
                        "type": "string",
                        "description": "The region where domain will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "requestor": {
                        "type": "string",
                        "description": "An email address associated with the key.\n"
                    },
                    "role": {
                        "type": "string",
                        "description": "(Enum: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sending`\" pulumi-lang-dotnet=\"`Sending`\" pulumi-lang-go=\"`sending`\" pulumi-lang-python=\"`sending`\" pulumi-lang-yaml=\"`sending`\" pulumi-lang-java=\"`sending`\"\u003e`sending`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`support`\" pulumi-lang-dotnet=\"`Support`\" pulumi-lang-go=\"`support`\" pulumi-lang-python=\"`support`\" pulumi-lang-yaml=\"`support`\" pulumi-lang-java=\"`support`\"\u003e`support`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e) Key role.\n",
                        "willReplaceOnChanges": true
                    },
                    "secret": {
                        "type": "string",
                        "description": "The full API key secret in plain text.\n",
                        "secret": true
                    },
                    "userId": {
                        "type": "string",
                        "description": "API key user's string user ID; should be provided for all keys of \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\"\u003e`web`\u003c/span\u003e kind.\n",
                        "willReplaceOnChanges": true
                    },
                    "userName": {
                        "type": "string",
                        "description": "API key user's name.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "mailgun:index/domain:Domain": {
            "description": "Provides a Mailgun App resource. This can be used to\ncreate and manage applications on Mailgun.\n\nAfter DNS records are set, domain verification should be triggered manually using [PUT /domains/\\\u003cdomain\\\u003e/verify](https://documentation.mailgun.com/en/latest/api-domains.html#domains)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mailgun from \"@pulumi/mailgun\";\n\n// Create a new Mailgun domain\nconst _default = new mailgun.Domain(\"default\", {\n    name: \"test.example.com\",\n    region: \"us\",\n    spamAction: \"disabled\",\n    smtpPassword: \"supersecretpassword1234\",\n    dkimKeySize: 1024,\n});\n```\n```python\nimport pulumi\nimport pulumi_mailgun as mailgun\n\n# Create a new Mailgun domain\ndefault = mailgun.Domain(\"default\",\n    name=\"test.example.com\",\n    region=\"us\",\n    spam_action=\"disabled\",\n    smtp_password=\"supersecretpassword1234\",\n    dkim_key_size=1024)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mailgun = Pulumi.Mailgun;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new Mailgun domain\n    var @default = new Mailgun.Domain(\"default\", new()\n    {\n        Name = \"test.example.com\",\n        Region = \"us\",\n        SpamAction = \"disabled\",\n        SmtpPassword = \"supersecretpassword1234\",\n        DkimKeySize = 1024,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mailgun/sdk/v3/go/mailgun\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Mailgun domain\n\t\t_, err := mailgun.NewDomain(ctx, \"default\", \u0026mailgun.DomainArgs{\n\t\t\tName:         pulumi.String(\"test.example.com\"),\n\t\t\tRegion:       pulumi.String(\"us\"),\n\t\t\tSpamAction:   pulumi.String(\"disabled\"),\n\t\t\tSmtpPassword: pulumi.String(\"supersecretpassword1234\"),\n\t\t\tDkimKeySize:  pulumi.Int(1024),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mailgun.Domain;\nimport com.pulumi.mailgun.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new Mailgun domain\n        var default_ = new Domain(\"default\", DomainArgs.builder()\n            .name(\"test.example.com\")\n            .region(\"us\")\n            .spamAction(\"disabled\")\n            .smtpPassword(\"supersecretpassword1234\")\n            .dkimKeySize(1024)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new Mailgun domain\n  default:\n    type: mailgun:Domain\n    properties:\n      name: test.example.com\n      region: us\n      spamAction: disabled\n      smtpPassword: supersecretpassword1234\n      dkimKeySize: 1024\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nHere's an example using the Cloudflare provider. Bear in mind that the solution below requires the Cloudflare provider to be included in your project. Also, the Mailgun provider isn't associated with Cloudflare, and other Terraform providers that can control DNS may require a slightly different implementation.\n\nFor detailed setup instructions, see Mailgun's [Domain Verification Setup Guide](https://help.mailgun.com/hc/en-us/articles/32884702360603-Domain-Verification-Setup-Guide) or the [Cloudflare DNS Setup Guide](https://help.mailgun.com/hc/en-us/articles/15585722150299-Cloudflare-DNS-Setup-Guide).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudflare from \"@pulumi/cloudflare\";\nimport * as std from \"@pulumi/std\";\n\n// Use receiving/sending set attributes to create DNS entries\n// TTL is set to 300 seconds (5 minutes) for faster updates as recommended by Mailgun\n// You can adjust the TTL to your desired value\nconst defaultReceiving: cloudflare.index.DnsRecord[] = [];\nfor (const range of Object.entries(.reduce((__obj, record) =\u003e ({ ...__obj, [record.id]: {\n    type: record.recordType,\n    value: record.value,\n    priority: record.priority,\n} }))).map(([k, v]) =\u003e ({key: k, value: v}))) {\n    defaultReceiving.push(new cloudflare.index.DnsRecord(`default_receiving-${range.key}`, {\n        zoneId: zoneId,\n        name: domain,\n        type: range.value.type,\n        content: range.value.value,\n        priority: range.value.priority,\n        ttl: 300,\n    }));\n}\nconst defaultSending: cloudflare.index.DnsRecord[] = [];\nfor (const range of Object.entries(.reduce((__obj, record) =\u003e ({ ...__obj, [record.id]: {\n    name: record.name,\n    type: record.recordType,\n    value: record.value,\n} }))).map(([k, v]) =\u003e ({key: k, value: v}))) {\n    defaultSending.push(new cloudflare.index.DnsRecord(`default_sending-${range.key}`, {\n        zoneId: zoneId,\n        name: range.value.name,\n        type: range.value.type,\n        content: range.value.value,\n        ttl: 300,\n    }));\n}\n// Create MX records pointing to Mailgun\n// Use \"@\" for name if using the root domain, or the subdomain name if using a subdomain\nconst mxRecords: cloudflare.index.DnsRecord[] = [];\nfor (const range = {value: 0}; range.value \u003c std.index.toset({\n    input: [\n        \"mxa.mailgun.org\",\n        \"mxb.mailgun.org\",\n    ],\n}).result; range.value++) {\n    mxRecords.push(new cloudflare.index.DnsRecord(`mx_records-${range.value}`, {\n        zoneId: zoneId,\n        name: \"@\",\n        type: \"MX\",\n        content: range.value,\n        priority: 10,\n        ttl: 300,\n    }));\n}\n```\n```python\nimport pulumi\nimport pulumi_cloudflare as cloudflare\nimport pulumi_std as std\n\n# Use receiving/sending set attributes to create DNS entries\n# TTL is set to 300 seconds (5 minutes) for faster updates as recommended by Mailgun\n# You can adjust the TTL to your desired value\ndefault_receiving = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate({record.id: {\n    type: record.record_type,\n    value: record.value,\n    priority: record.priority,\n} for record in default.receiving_records_set})]:\n    default_receiving.append(cloudflare.index.DnsRecord(f\"default_receiving-{range['key']}\",\n        zone_id=zone_id,\n        name=domain,\n        type=range.value.type,\n        content=range.value.value,\n        priority=range.value.priority,\n        ttl=300))\ndefault_sending = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate({record.id: {\n    name: record.name,\n    type: record.record_type,\n    value: record.value,\n} for record in default.sending_records_set})]:\n    default_sending.append(cloudflare.index.DnsRecord(f\"default_sending-{range['key']}\",\n        zone_id=zone_id,\n        name=range.value.name,\n        type=range.value.type,\n        content=range.value.value,\n        ttl=300))\n# Create MX records pointing to Mailgun\n# Use \"@\" for name if using the root domain, or the subdomain name if using a subdomain\nmx_records = []\nfor range in [{\"value\": i} for i in range(0, std.index.toset(input=[\n    mxa.mailgun.org,\n    mxb.mailgun.org,\n]).result)]:\n    mx_records.append(cloudflare.index.DnsRecord(f\"mx_records-{range['value']}\",\n        zone_id=zone_id,\n        name=@,\n        type=MX,\n        content=range.value,\n        priority=10,\n        ttl=300))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudflare = Pulumi.Cloudflare;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Use receiving/sending set attributes to create DNS entries\n    // TTL is set to 300 seconds (5 minutes) for faster updates as recommended by Mailgun\n    // You can adjust the TTL to your desired value\n    var defaultReceiving = new List\u003cCloudflare.Index.DnsRecord\u003e();\n    foreach (var range in .ToDictionary(item =\u003e {\n        var record = item.Value;\n        return record.Id;\n    }, item =\u003e {\n        var record = item.Value;\n        return \n        {\n            { \"type\", record.RecordType },\n            { \"value\", record.Value },\n            { \"priority\", record.Priority },\n        };\n    }).Select(pair =\u003e new { pair.Key, pair.Value }))\n    {\n        defaultReceiving.Add(new Cloudflare.Index.DnsRecord($\"default_receiving-{range.Key}\", new()\n        {\n            ZoneId = zoneId,\n            Name = domain,\n            Type = range.Value.Type,\n            Content = range.Value.Value,\n            Priority = range.Value.Priority,\n            Ttl = 300,\n        }));\n    }\n    var defaultSending = new List\u003cCloudflare.Index.DnsRecord\u003e();\n    foreach (var range in .ToDictionary(item =\u003e {\n        var record = item.Value;\n        return record.Id;\n    }, item =\u003e {\n        var record = item.Value;\n        return \n        {\n            { \"name\", record.Name },\n            { \"type\", record.RecordType },\n            { \"value\", record.Value },\n        };\n    }).Select(pair =\u003e new { pair.Key, pair.Value }))\n    {\n        defaultSending.Add(new Cloudflare.Index.DnsRecord($\"default_sending-{range.Key}\", new()\n        {\n            ZoneId = zoneId,\n            Name = range.Value.Name,\n            Type = range.Value.Type,\n            Content = range.Value.Value,\n            Ttl = 300,\n        }));\n    }\n    // Create MX records pointing to Mailgun\n    // Use \"@\" for name if using the root domain, or the subdomain name if using a subdomain\n    var mxRecords = new List\u003cCloudflare.Index.DnsRecord\u003e();\n    for (var rangeIndex = 0; rangeIndex \u003c Std.Index.Toset.Invoke(new()\n    {\n        Input = new[]\n        {\n            \"mxa.mailgun.org\",\n            \"mxb.mailgun.org\",\n        },\n    }).Result; rangeIndex++)\n    {\n        var range = new { Value = rangeIndex };\n        mxRecords.Add(new Cloudflare.Index.DnsRecord($\"mx_records-{range.Value}\", new()\n        {\n            ZoneId = zoneId,\n            Name = \"@\",\n            Type = \"MX\",\n            Content = range.Value,\n            Priority = 10,\n            Ttl = 300,\n        }));\n    }\n});\n```\n```yaml\nresources:\n  # Use receiving/sending set attributes to create DNS entries\n  # TTL is set to 300 seconds (5 minutes) for faster updates as recommended by Mailgun\n  # You can adjust the TTL to your desired value\n  defaultReceiving:\n    type: cloudflare:DnsRecord\n    name: default_receiving\n    properties:\n      zoneId: ${zoneId}\n      name: ${domain}\n      type: ${range.value.type}\n      content: ${range.value.value}\n      priority: ${range.value.priority}\n      ttl: 300\n    options: {}\n  defaultSending:\n    type: cloudflare:DnsRecord\n    name: default_sending\n    properties:\n      zoneId: ${zoneId}\n      name: ${range.value.name}\n      type: ${range.value.type}\n      content: ${range.value.value}\n      ttl: 300\n    options: {}\n  # Create MX records pointing to Mailgun\n  # Use \"@\" for name if using the root domain, or the subdomain name if using a subdomain\n  mxRecords:\n    type: cloudflare:DnsRecord\n    name: mx_records\n    properties:\n      zoneId: ${zoneId}\n      name: '@'\n      type: MX\n      content: ${range.value}\n      priority: 10\n      ttl: 300\n    options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n",
            "properties": {
                "clickTracking": {
                    "type": "boolean",
                    "description": "(Enum: \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e) The click tracking settings for the domain. Default: \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e\n"
                },
                "dkimKeySize": {
                    "type": "integer",
                    "description": "The length of your domain’s generated DKIM key. Default value is \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"
                },
                "dkimSelector": {
                    "type": "string",
                    "description": "The name of your DKIM selector if you want to specify it whereas MailGun will make it's own choice.\n"
                },
                "forceDkimAuthority": {
                    "type": "boolean",
                    "description": "If set to true, the domain will be the DKIM authority for itself even if the root domain is registered on the same mailgun account. If set to false, the domain will have the same DKIM authority as the root domain registered on the same mailgun account. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The domain to add to Mailgun\n"
                },
                "openTracking": {
                    "type": "boolean",
                    "description": "(Enum: \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e) The open tracking settings for the domain. Default: \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e\n"
                },
                "receivingRecords": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/mailgun:index/DomainReceivingRecord:DomainReceivingRecord"
                    },
                    "description": "A list of DNS records for receiving validation.  **Deprecated** Use \u003cspan pulumi-lang-nodejs=\"`receivingRecordsSet`\" pulumi-lang-dotnet=\"`ReceivingRecordsSet`\" pulumi-lang-go=\"`receivingRecordsSet`\" pulumi-lang-python=\"`receiving_records_set`\" pulumi-lang-yaml=\"`receivingRecordsSet`\" pulumi-lang-java=\"`receivingRecordsSet`\"\u003e`receivingRecordsSet`\u003c/span\u003e instead.\n",
                    "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`receivingRecordsSet`\" pulumi-lang-dotnet=\"`ReceivingRecordsSet`\" pulumi-lang-go=\"`receivingRecordsSet`\" pulumi-lang-python=\"`receiving_records_set`\" pulumi-lang-yaml=\"`receivingRecordsSet`\" pulumi-lang-java=\"`receivingRecordsSet`\"\u003e`receivingRecordsSet`\u003c/span\u003e instead."
                },
                "receivingRecordsSets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/mailgun:index/DomainReceivingRecordsSet:DomainReceivingRecordsSet"
                    },
                    "description": "A set of DNS records for receiving validation.\n"
                },
                "region": {
                    "type": "string",
                    "description": "The region where domain will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n"
                },
                "sendingRecords": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/mailgun:index/DomainSendingRecord:DomainSendingRecord"
                    },
                    "description": "A list of DNS records for sending validation. **Deprecated** Use \u003cspan pulumi-lang-nodejs=\"`sendingRecordsSet`\" pulumi-lang-dotnet=\"`SendingRecordsSet`\" pulumi-lang-go=\"`sendingRecordsSet`\" pulumi-lang-python=\"`sending_records_set`\" pulumi-lang-yaml=\"`sendingRecordsSet`\" pulumi-lang-java=\"`sendingRecordsSet`\"\u003e`sendingRecordsSet`\u003c/span\u003e instead.\n",
                    "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`sendingRecordsSet`\" pulumi-lang-dotnet=\"`SendingRecordsSet`\" pulumi-lang-go=\"`sendingRecordsSet`\" pulumi-lang-python=\"`sending_records_set`\" pulumi-lang-yaml=\"`sendingRecordsSet`\" pulumi-lang-java=\"`sendingRecordsSet`\"\u003e`sendingRecordsSet`\u003c/span\u003e instead."
                },
                "sendingRecordsSets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/mailgun:index/DomainSendingRecordsSet:DomainSendingRecordsSet"
                    },
                    "description": "A set of DNS records for sending validation.\n"
                },
                "smtpLogin": {
                    "type": "string",
                    "description": "The login email for the SMTP server.\n"
                },
                "smtpPassword": {
                    "type": "string",
                    "description": "Password for SMTP authentication\n",
                    "secret": true
                },
                "spamAction": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e Disable, no spam\nfiltering will occur for inbound messages. Tag, messages\nwill be tagged with a spam header. Default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"
                },
                "useAutomaticSenderSecurity": {
                    "type": "boolean",
                    "description": "If true Mailgun manages DKIM key generation and DNS record configuration automatically. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                },
                "webScheme": {
                    "type": "string",
                    "description": "(\u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e) The tracking web scheme. Default: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e\n"
                },
                "wildcard": {
                    "type": "boolean",
                    "description": "Boolean that determines whether\nthe domain will accept email for sub-domains.\n"
                }
            },
            "required": [
                "name",
                "receivingRecords",
                "receivingRecordsSets",
                "sendingRecords",
                "sendingRecordsSets",
                "smtpLogin"
            ],
            "inputProperties": {
                "clickTracking": {
                    "type": "boolean",
                    "description": "(Enum: \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e) The click tracking settings for the domain. Default: \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e\n"
                },
                "dkimKeySize": {
                    "type": "integer",
                    "description": "The length of your domain’s generated DKIM key. Default value is \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                },
                "dkimSelector": {
                    "type": "string",
                    "description": "The name of your DKIM selector if you want to specify it whereas MailGun will make it's own choice.\n",
                    "willReplaceOnChanges": true
                },
                "forceDkimAuthority": {
                    "type": "boolean",
                    "description": "If set to true, the domain will be the DKIM authority for itself even if the root domain is registered on the same mailgun account. If set to false, the domain will have the same DKIM authority as the root domain registered on the same mailgun account. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "The domain to add to Mailgun\n",
                    "willReplaceOnChanges": true
                },
                "openTracking": {
                    "type": "boolean",
                    "description": "(Enum: \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e) The open tracking settings for the domain. Default: \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e\n"
                },
                "region": {
                    "type": "string",
                    "description": "The region where domain will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                },
                "smtpPassword": {
                    "type": "string",
                    "description": "Password for SMTP authentication\n",
                    "secret": true
                },
                "spamAction": {
                    "type": "string",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e Disable, no spam\nfiltering will occur for inbound messages. Tag, messages\nwill be tagged with a spam header. Default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                },
                "useAutomaticSenderSecurity": {
                    "type": "boolean",
                    "description": "If true Mailgun manages DKIM key generation and DNS record configuration automatically. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n",
                    "willReplaceOnChanges": true
                },
                "webScheme": {
                    "type": "string",
                    "description": "(\u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e) The tracking web scheme. Default: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e\n"
                },
                "wildcard": {
                    "type": "boolean",
                    "description": "Boolean that determines whether\nthe domain will accept email for sub-domains.\n",
                    "willReplaceOnChanges": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Domain resources.\n",
                "properties": {
                    "clickTracking": {
                        "type": "boolean",
                        "description": "(Enum: \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e) The click tracking settings for the domain. Default: \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e\n"
                    },
                    "dkimKeySize": {
                        "type": "integer",
                        "description": "The length of your domain’s generated DKIM key. Default value is \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "dkimSelector": {
                        "type": "string",
                        "description": "The name of your DKIM selector if you want to specify it whereas MailGun will make it's own choice.\n",
                        "willReplaceOnChanges": true
                    },
                    "forceDkimAuthority": {
                        "type": "boolean",
                        "description": "If set to true, the domain will be the DKIM authority for itself even if the root domain is registered on the same mailgun account. If set to false, the domain will have the same DKIM authority as the root domain registered on the same mailgun account. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "name": {
                        "type": "string",
                        "description": "The domain to add to Mailgun\n",
                        "willReplaceOnChanges": true
                    },
                    "openTracking": {
                        "type": "boolean",
                        "description": "(Enum: \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e) The open tracking settings for the domain. Default: \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e\n"
                    },
                    "receivingRecords": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/mailgun:index/DomainReceivingRecord:DomainReceivingRecord"
                        },
                        "description": "A list of DNS records for receiving validation.  **Deprecated** Use \u003cspan pulumi-lang-nodejs=\"`receivingRecordsSet`\" pulumi-lang-dotnet=\"`ReceivingRecordsSet`\" pulumi-lang-go=\"`receivingRecordsSet`\" pulumi-lang-python=\"`receiving_records_set`\" pulumi-lang-yaml=\"`receivingRecordsSet`\" pulumi-lang-java=\"`receivingRecordsSet`\"\u003e`receivingRecordsSet`\u003c/span\u003e instead.\n",
                        "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`receivingRecordsSet`\" pulumi-lang-dotnet=\"`ReceivingRecordsSet`\" pulumi-lang-go=\"`receivingRecordsSet`\" pulumi-lang-python=\"`receiving_records_set`\" pulumi-lang-yaml=\"`receivingRecordsSet`\" pulumi-lang-java=\"`receivingRecordsSet`\"\u003e`receivingRecordsSet`\u003c/span\u003e instead."
                    },
                    "receivingRecordsSets": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/mailgun:index/DomainReceivingRecordsSet:DomainReceivingRecordsSet"
                        },
                        "description": "A set of DNS records for receiving validation.\n"
                    },
                    "region": {
                        "type": "string",
                        "description": "The region where domain will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "sendingRecords": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/mailgun:index/DomainSendingRecord:DomainSendingRecord"
                        },
                        "description": "A list of DNS records for sending validation. **Deprecated** Use \u003cspan pulumi-lang-nodejs=\"`sendingRecordsSet`\" pulumi-lang-dotnet=\"`SendingRecordsSet`\" pulumi-lang-go=\"`sendingRecordsSet`\" pulumi-lang-python=\"`sending_records_set`\" pulumi-lang-yaml=\"`sendingRecordsSet`\" pulumi-lang-java=\"`sendingRecordsSet`\"\u003e`sendingRecordsSet`\u003c/span\u003e instead.\n",
                        "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`sendingRecordsSet`\" pulumi-lang-dotnet=\"`SendingRecordsSet`\" pulumi-lang-go=\"`sendingRecordsSet`\" pulumi-lang-python=\"`sending_records_set`\" pulumi-lang-yaml=\"`sendingRecordsSet`\" pulumi-lang-java=\"`sendingRecordsSet`\"\u003e`sendingRecordsSet`\u003c/span\u003e instead."
                    },
                    "sendingRecordsSets": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/mailgun:index/DomainSendingRecordsSet:DomainSendingRecordsSet"
                        },
                        "description": "A set of DNS records for sending validation.\n"
                    },
                    "smtpLogin": {
                        "type": "string",
                        "description": "The login email for the SMTP server.\n"
                    },
                    "smtpPassword": {
                        "type": "string",
                        "description": "Password for SMTP authentication\n",
                        "secret": true
                    },
                    "spamAction": {
                        "type": "string",
                        "description": "\u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e Disable, no spam\nfiltering will occur for inbound messages. Tag, messages\nwill be tagged with a spam header. Default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "useAutomaticSenderSecurity": {
                        "type": "boolean",
                        "description": "If true Mailgun manages DKIM key generation and DNS record configuration automatically. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n",
                        "willReplaceOnChanges": true
                    },
                    "webScheme": {
                        "type": "string",
                        "description": "(\u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e) The tracking web scheme. Default: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e\n"
                    },
                    "wildcard": {
                        "type": "boolean",
                        "description": "Boolean that determines whether\nthe domain will accept email for sub-domains.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "mailgun:index/domainCredential:DomainCredential": {
            "description": "Provides a Mailgun domain credential resource. This can be used to create and manage credential in domain of Mailgun.\n\n\u003e **Note:** Please note that starting of v0.6.1 due to using new Mailgun Client API (v4), there is no possibility to retrieve previously created secrets via API. In order get it worked, it's recommended to mark \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e as ignored under \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e block. See below.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mailgun from \"@pulumi/mailgun\";\n\n// Create a new Mailgun credential\nconst foobar = new mailgun.DomainCredential(\"foobar\", {\n    domain: \"toto.com\",\n    login: \"test\",\n    password: \"supersecretpassword1234\",\n    region: \"us\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mailgun as mailgun\n\n# Create a new Mailgun credential\nfoobar = mailgun.DomainCredential(\"foobar\",\n    domain=\"toto.com\",\n    login=\"test\",\n    password=\"supersecretpassword1234\",\n    region=\"us\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mailgun = Pulumi.Mailgun;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new Mailgun credential\n    var foobar = new Mailgun.DomainCredential(\"foobar\", new()\n    {\n        Domain = \"toto.com\",\n        Login = \"test\",\n        Password = \"supersecretpassword1234\",\n        Region = \"us\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mailgun/sdk/v3/go/mailgun\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Mailgun credential\n\t\t_, err := mailgun.NewDomainCredential(ctx, \"foobar\", \u0026mailgun.DomainCredentialArgs{\n\t\t\tDomain:   pulumi.String(\"toto.com\"),\n\t\t\tLogin:    pulumi.String(\"test\"),\n\t\t\tPassword: pulumi.String(\"supersecretpassword1234\"),\n\t\t\tRegion:   pulumi.String(\"us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mailgun.DomainCredential;\nimport com.pulumi.mailgun.DomainCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new Mailgun credential\n        var foobar = new DomainCredential(\"foobar\", DomainCredentialArgs.builder()\n            .domain(\"toto.com\")\n            .login(\"test\")\n            .password(\"supersecretpassword1234\")\n            .region(\"us\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new Mailgun credential\n  foobar:\n    type: mailgun:DomainCredential\n    properties:\n      domain: toto.com\n      login: test\n      password: supersecretpassword1234\n      region: us\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n",
            "properties": {
                "domain": {
                    "type": "string",
                    "description": "The domain to add credential of Mailgun.\n"
                },
                "login": {
                    "type": "string",
                    "description": "The local-part of the email address to create.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Password for user authentication.\n",
                    "secret": true
                },
                "region": {
                    "type": "string",
                    "description": "The region where domain credential will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "domain",
                "login",
                "password"
            ],
            "inputProperties": {
                "domain": {
                    "type": "string",
                    "description": "The domain to add credential of Mailgun.\n",
                    "willReplaceOnChanges": true
                },
                "login": {
                    "type": "string",
                    "description": "The local-part of the email address to create.\n",
                    "willReplaceOnChanges": true
                },
                "password": {
                    "type": "string",
                    "description": "Password for user authentication.\n",
                    "secret": true
                },
                "region": {
                    "type": "string",
                    "description": "The region where domain credential will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "domain",
                "login",
                "password"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DomainCredential resources.\n",
                "properties": {
                    "domain": {
                        "type": "string",
                        "description": "The domain to add credential of Mailgun.\n",
                        "willReplaceOnChanges": true
                    },
                    "login": {
                        "type": "string",
                        "description": "The local-part of the email address to create.\n",
                        "willReplaceOnChanges": true
                    },
                    "password": {
                        "type": "string",
                        "description": "Password for user authentication.\n",
                        "secret": true
                    },
                    "region": {
                        "type": "string",
                        "description": "The region where domain credential will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "mailgun:index/route:Route": {
            "description": "Provides a Mailgun Route resource. This can be used to create and manage routes on Mailgun.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mailgun from \"@pulumi/mailgun\";\n\n// Create a new Mailgun route\nconst _default = new mailgun.Route(\"default\", {\n    priority: 0,\n    description: \"inbound\",\n    expression: \"match_recipient('.*@foo.example.com')\",\n    actions: [\n        \"forward('http://example.com/api/v1/foos/')\",\n        \"stop()\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_mailgun as mailgun\n\n# Create a new Mailgun route\ndefault = mailgun.Route(\"default\",\n    priority=0,\n    description=\"inbound\",\n    expression=\"match_recipient('.*@foo.example.com')\",\n    actions=[\n        \"forward('http://example.com/api/v1/foos/')\",\n        \"stop()\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mailgun = Pulumi.Mailgun;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new Mailgun route\n    var @default = new Mailgun.Route(\"default\", new()\n    {\n        Priority = 0,\n        Description = \"inbound\",\n        Expression = \"match_recipient('.*@foo.example.com')\",\n        Actions = new[]\n        {\n            \"forward('http://example.com/api/v1/foos/')\",\n            \"stop()\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mailgun/sdk/v3/go/mailgun\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Mailgun route\n\t\t_, err := mailgun.NewRoute(ctx, \"default\", \u0026mailgun.RouteArgs{\n\t\t\tPriority:    pulumi.Int(0),\n\t\t\tDescription: pulumi.String(\"inbound\"),\n\t\t\tExpression:  pulumi.String(\"match_recipient('.*@foo.example.com')\"),\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"forward('http://example.com/api/v1/foos/')\"),\n\t\t\t\tpulumi.String(\"stop()\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mailgun.Route;\nimport com.pulumi.mailgun.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new Mailgun route\n        var default_ = new Route(\"default\", RouteArgs.builder()\n            .priority(0)\n            .description(\"inbound\")\n            .expression(\"match_recipient('.*@foo.example.com')\")\n            .actions(            \n                \"forward('http://example.com/api/v1/foos/')\",\n                \"stop()\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new Mailgun route\n  default:\n    type: mailgun:Route\n    properties:\n      priority: '0'\n      description: inbound\n      expression: match_recipient('.*@foo.example.com')\n      actions:\n        - forward('http://example.com/api/v1/foos/')\n        - stop()\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n",
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "description": {
                    "type": "string"
                },
                "expression": {
                    "type": "string",
                    "description": "A filter expression like `match_recipient('.*@gmail.com')`\n"
                },
                "priority": {
                    "type": "integer",
                    "description": "Smaller number indicates higher priority. Higher priority routes are handled first.\n"
                },
                "region": {
                    "type": "string",
                    "description": "The region where route will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "actions",
                "expression",
                "priority"
            ],
            "inputProperties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "description": {
                    "type": "string"
                },
                "expression": {
                    "type": "string",
                    "description": "A filter expression like `match_recipient('.*@gmail.com')`\n"
                },
                "priority": {
                    "type": "integer",
                    "description": "Smaller number indicates higher priority. Higher priority routes are handled first.\n"
                },
                "region": {
                    "type": "string",
                    "description": "The region where route will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "actions",
                "expression",
                "priority"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Route resources.\n",
                "properties": {
                    "actions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": {
                        "type": "string"
                    },
                    "expression": {
                        "type": "string",
                        "description": "A filter expression like `match_recipient('.*@gmail.com')`\n"
                    },
                    "priority": {
                        "type": "integer",
                        "description": "Smaller number indicates higher priority. Higher priority routes are handled first.\n"
                    },
                    "region": {
                        "type": "string",
                        "description": "The region where route will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "mailgun:index/webhook:Webhook": {
            "description": "Provides a Mailgun App resource. This can be used to\ncreate and manage applications on Mailgun.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mailgun from \"@pulumi/mailgun\";\n\n// Create a new Mailgun webhook\nconst _default = new mailgun.Webhook(\"default\", {\n    domain: \"test.example.com\",\n    region: \"us\",\n    kind: \"delivered\",\n    urls: [\"https://example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mailgun as mailgun\n\n# Create a new Mailgun webhook\ndefault = mailgun.Webhook(\"default\",\n    domain=\"test.example.com\",\n    region=\"us\",\n    kind=\"delivered\",\n    urls=[\"https://example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mailgun = Pulumi.Mailgun;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new Mailgun webhook\n    var @default = new Mailgun.Webhook(\"default\", new()\n    {\n        Domain = \"test.example.com\",\n        Region = \"us\",\n        Kind = \"delivered\",\n        Urls = new[]\n        {\n            \"https://example.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mailgun/sdk/v3/go/mailgun\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Mailgun webhook\n\t\t_, err := mailgun.NewWebhook(ctx, \"default\", \u0026mailgun.WebhookArgs{\n\t\t\tDomain: pulumi.String(\"test.example.com\"),\n\t\t\tRegion: pulumi.String(\"us\"),\n\t\t\tKind:   pulumi.String(\"delivered\"),\n\t\t\tUrls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"https://example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mailgun.Webhook;\nimport com.pulumi.mailgun.WebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new Mailgun webhook\n        var default_ = new Webhook(\"default\", WebhookArgs.builder()\n            .domain(\"test.example.com\")\n            .region(\"us\")\n            .kind(\"delivered\")\n            .urls(\"https://example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new Mailgun webhook\n  default:\n    type: mailgun:Webhook\n    properties:\n      domain: test.example.com\n      region: us\n      kind: delivered\n      urls:\n        - https://example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWebhooks can be imported using the `region:domain:kind` or `domain:kind` format:\n\n```sh\n$ pulumi import mailgun:index/webhook:Webhook default us:test.example.com:delivered\n```\n\nor using the default region (us):\n\n```sh\n$ pulumi import mailgun:index/webhook:Webhook default test.example.com:delivered\n```\n\n",
            "properties": {
                "domain": {
                    "type": "string",
                    "description": "The domain to add to Mailgun\n"
                },
                "kind": {
                    "type": "string",
                    "description": "The kind of webhook. Supported values (\u003cspan pulumi-lang-nodejs=\"`accepted`\" pulumi-lang-dotnet=\"`Accepted`\" pulumi-lang-go=\"`accepted`\" pulumi-lang-python=\"`accepted`\" pulumi-lang-yaml=\"`accepted`\" pulumi-lang-java=\"`accepted`\"\u003e`accepted`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`clicked`\" pulumi-lang-dotnet=\"`Clicked`\" pulumi-lang-go=\"`clicked`\" pulumi-lang-python=\"`clicked`\" pulumi-lang-yaml=\"`clicked`\" pulumi-lang-java=\"`clicked`\"\u003e`clicked`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`complained`\" pulumi-lang-dotnet=\"`Complained`\" pulumi-lang-go=\"`complained`\" pulumi-lang-python=\"`complained`\" pulumi-lang-yaml=\"`complained`\" pulumi-lang-java=\"`complained`\"\u003e`complained`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`delivered`\" pulumi-lang-dotnet=\"`Delivered`\" pulumi-lang-go=\"`delivered`\" pulumi-lang-python=\"`delivered`\" pulumi-lang-yaml=\"`delivered`\" pulumi-lang-java=\"`delivered`\"\u003e`delivered`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`opened`\" pulumi-lang-dotnet=\"`Opened`\" pulumi-lang-go=\"`opened`\" pulumi-lang-python=\"`opened`\" pulumi-lang-yaml=\"`opened`\" pulumi-lang-java=\"`opened`\"\u003e`opened`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`permanentFail`\" pulumi-lang-dotnet=\"`PermanentFail`\" pulumi-lang-go=\"`permanentFail`\" pulumi-lang-python=\"`permanent_fail`\" pulumi-lang-yaml=\"`permanentFail`\" pulumi-lang-java=\"`permanentFail`\"\u003e`permanentFail`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`temporaryFail`\" pulumi-lang-dotnet=\"`TemporaryFail`\" pulumi-lang-go=\"`temporaryFail`\" pulumi-lang-python=\"`temporary_fail`\" pulumi-lang-yaml=\"`temporaryFail`\" pulumi-lang-java=\"`temporaryFail`\"\u003e`temporaryFail`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`unsubscribed`\" pulumi-lang-dotnet=\"`Unsubscribed`\" pulumi-lang-go=\"`unsubscribed`\" pulumi-lang-python=\"`unsubscribed`\" pulumi-lang-yaml=\"`unsubscribed`\" pulumi-lang-java=\"`unsubscribed`\"\u003e`unsubscribed`\u003c/span\u003e)\n"
                },
                "region": {
                    "type": "string",
                    "description": "The region where webhook will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n"
                },
                "urls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The urls of webhook\n"
                }
            },
            "required": [
                "domain",
                "kind",
                "urls"
            ],
            "inputProperties": {
                "domain": {
                    "type": "string",
                    "description": "The domain to add to Mailgun\n",
                    "willReplaceOnChanges": true
                },
                "kind": {
                    "type": "string",
                    "description": "The kind of webhook. Supported values (\u003cspan pulumi-lang-nodejs=\"`accepted`\" pulumi-lang-dotnet=\"`Accepted`\" pulumi-lang-go=\"`accepted`\" pulumi-lang-python=\"`accepted`\" pulumi-lang-yaml=\"`accepted`\" pulumi-lang-java=\"`accepted`\"\u003e`accepted`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`clicked`\" pulumi-lang-dotnet=\"`Clicked`\" pulumi-lang-go=\"`clicked`\" pulumi-lang-python=\"`clicked`\" pulumi-lang-yaml=\"`clicked`\" pulumi-lang-java=\"`clicked`\"\u003e`clicked`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`complained`\" pulumi-lang-dotnet=\"`Complained`\" pulumi-lang-go=\"`complained`\" pulumi-lang-python=\"`complained`\" pulumi-lang-yaml=\"`complained`\" pulumi-lang-java=\"`complained`\"\u003e`complained`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`delivered`\" pulumi-lang-dotnet=\"`Delivered`\" pulumi-lang-go=\"`delivered`\" pulumi-lang-python=\"`delivered`\" pulumi-lang-yaml=\"`delivered`\" pulumi-lang-java=\"`delivered`\"\u003e`delivered`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`opened`\" pulumi-lang-dotnet=\"`Opened`\" pulumi-lang-go=\"`opened`\" pulumi-lang-python=\"`opened`\" pulumi-lang-yaml=\"`opened`\" pulumi-lang-java=\"`opened`\"\u003e`opened`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`permanentFail`\" pulumi-lang-dotnet=\"`PermanentFail`\" pulumi-lang-go=\"`permanentFail`\" pulumi-lang-python=\"`permanent_fail`\" pulumi-lang-yaml=\"`permanentFail`\" pulumi-lang-java=\"`permanentFail`\"\u003e`permanentFail`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`temporaryFail`\" pulumi-lang-dotnet=\"`TemporaryFail`\" pulumi-lang-go=\"`temporaryFail`\" pulumi-lang-python=\"`temporary_fail`\" pulumi-lang-yaml=\"`temporaryFail`\" pulumi-lang-java=\"`temporaryFail`\"\u003e`temporaryFail`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`unsubscribed`\" pulumi-lang-dotnet=\"`Unsubscribed`\" pulumi-lang-go=\"`unsubscribed`\" pulumi-lang-python=\"`unsubscribed`\" pulumi-lang-yaml=\"`unsubscribed`\" pulumi-lang-java=\"`unsubscribed`\"\u003e`unsubscribed`\u003c/span\u003e)\n",
                    "willReplaceOnChanges": true
                },
                "region": {
                    "type": "string",
                    "description": "The region where webhook will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                },
                "urls": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The urls of webhook\n"
                }
            },
            "requiredInputs": [
                "domain",
                "kind",
                "urls"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Webhook resources.\n",
                "properties": {
                    "domain": {
                        "type": "string",
                        "description": "The domain to add to Mailgun\n",
                        "willReplaceOnChanges": true
                    },
                    "kind": {
                        "type": "string",
                        "description": "The kind of webhook. Supported values (\u003cspan pulumi-lang-nodejs=\"`accepted`\" pulumi-lang-dotnet=\"`Accepted`\" pulumi-lang-go=\"`accepted`\" pulumi-lang-python=\"`accepted`\" pulumi-lang-yaml=\"`accepted`\" pulumi-lang-java=\"`accepted`\"\u003e`accepted`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`clicked`\" pulumi-lang-dotnet=\"`Clicked`\" pulumi-lang-go=\"`clicked`\" pulumi-lang-python=\"`clicked`\" pulumi-lang-yaml=\"`clicked`\" pulumi-lang-java=\"`clicked`\"\u003e`clicked`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`complained`\" pulumi-lang-dotnet=\"`Complained`\" pulumi-lang-go=\"`complained`\" pulumi-lang-python=\"`complained`\" pulumi-lang-yaml=\"`complained`\" pulumi-lang-java=\"`complained`\"\u003e`complained`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`delivered`\" pulumi-lang-dotnet=\"`Delivered`\" pulumi-lang-go=\"`delivered`\" pulumi-lang-python=\"`delivered`\" pulumi-lang-yaml=\"`delivered`\" pulumi-lang-java=\"`delivered`\"\u003e`delivered`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`opened`\" pulumi-lang-dotnet=\"`Opened`\" pulumi-lang-go=\"`opened`\" pulumi-lang-python=\"`opened`\" pulumi-lang-yaml=\"`opened`\" pulumi-lang-java=\"`opened`\"\u003e`opened`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`permanentFail`\" pulumi-lang-dotnet=\"`PermanentFail`\" pulumi-lang-go=\"`permanentFail`\" pulumi-lang-python=\"`permanent_fail`\" pulumi-lang-yaml=\"`permanentFail`\" pulumi-lang-java=\"`permanentFail`\"\u003e`permanentFail`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`temporaryFail`\" pulumi-lang-dotnet=\"`TemporaryFail`\" pulumi-lang-go=\"`temporaryFail`\" pulumi-lang-python=\"`temporary_fail`\" pulumi-lang-yaml=\"`temporaryFail`\" pulumi-lang-java=\"`temporaryFail`\"\u003e`temporaryFail`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`unsubscribed`\" pulumi-lang-dotnet=\"`Unsubscribed`\" pulumi-lang-go=\"`unsubscribed`\" pulumi-lang-python=\"`unsubscribed`\" pulumi-lang-yaml=\"`unsubscribed`\" pulumi-lang-java=\"`unsubscribed`\"\u003e`unsubscribed`\u003c/span\u003e)\n",
                        "willReplaceOnChanges": true
                    },
                    "region": {
                        "type": "string",
                        "description": "The region where webhook will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "urls": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The urls of webhook\n"
                    }
                },
                "type": "object"
            }
        }
    },
    "functions": {
        "mailgun:index/getDomain:getDomain": {
            "description": "\u003cspan pulumi-lang-nodejs=\"`mailgun.Domain`\" pulumi-lang-dotnet=\"`mailgun.Domain`\" pulumi-lang-go=\"`Domain`\" pulumi-lang-python=\"`Domain`\" pulumi-lang-yaml=\"`mailgun.Domain`\" pulumi-lang-java=\"`mailgun.Domain`\"\u003e`mailgun.Domain`\u003c/span\u003e provides details about a Mailgun domain.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mailgun from \"@pulumi/mailgun\";\n\nconst domain = mailgun.getDomain({\n    name: \"test.example.com\",\n});\nconst mailgun_mx = new aws.index.Route53Record(\"mailgun-mx\", {\n    zoneId: zoneId,\n    name: domainMailgun.name,\n    type: \"MX\",\n    ttl: 3600,\n    records: [\n        `${domain.receivingRecords?.[0]?.priority} ${domain.receivingRecords?.[0]?.value}.`,\n        `${domain.receivingRecords?.[1]?.priority} ${domain.receivingRecords?.[1]?.value}.`,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mailgun as mailgun\n\ndomain = mailgun.get_domain(name=\"test.example.com\")\nmailgun_mx = aws.index.Route53Record(\"mailgun-mx\",\n    zone_id=zone_id,\n    name=domain_mailgun.name,\n    type=MX,\n    ttl=3600,\n    records=[\n        f{domain.receiving_records[0].priority} {domain.receiving_records[0].value}.,\n        f{domain.receiving_records[1].priority} {domain.receiving_records[1].value}.,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mailgun = Pulumi.Mailgun;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var domain = Mailgun.GetDomain.Invoke(new()\n    {\n        Name = \"test.example.com\",\n    });\n\n    var mailgun_mx = new Aws.Index.Route53Record(\"mailgun-mx\", new()\n    {\n        ZoneId = zoneId,\n        Name = domainMailgun.Name,\n        Type = \"MX\",\n        Ttl = 3600,\n        Records = new[]\n        {\n            $\"{domain.Apply(getDomainResult =\u003e getDomainResult.ReceivingRecords[0]?.Priority)} {domain.Apply(getDomainResult =\u003e getDomainResult.ReceivingRecords[0]?.Value)}.\",\n            $\"{domain.Apply(getDomainResult =\u003e getDomainResult.ReceivingRecords[1]?.Priority)} {domain.Apply(getDomainResult =\u003e getDomainResult.ReceivingRecords[1]?.Value)}.\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v7/go/aws\"\n\t\"github.com/pulumi/pulumi-mailgun/sdk/v3/go/mailgun\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdomain, err := mailgun.LookupDomain(ctx, \u0026mailgun.LookupDomainArgs{\n\t\t\tName: \"test.example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewRoute53Record(ctx, \"mailgun-mx\", \u0026aws.Route53RecordArgs{\n\t\t\tZoneId: zoneId,\n\t\t\tName:   domainMailgun.Name,\n\t\t\tType:   \"MX\",\n\t\t\tTtl:    3600,\n\t\t\tRecords: []string{\n\t\t\t\tfmt.Sprintf(\"%v %v.\", domain.ReceivingRecords[0].Priority, domain.ReceivingRecords[0].Value),\n\t\t\t\tfmt.Sprintf(\"%v %v.\", domain.ReceivingRecords[1].Priority, domain.ReceivingRecords[1].Value),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mailgun.MailgunFunctions;\nimport com.pulumi.mailgun.inputs.GetDomainArgs;\nimport com.pulumi.aws.Route53Record;\nimport com.pulumi.aws.Route53RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var domain = MailgunFunctions.getDomain(GetDomainArgs.builder()\n            .name(\"test.example.com\")\n            .build());\n\n        var mailgun_mx = new Route53Record(\"mailgun-mx\", Route53RecordArgs.builder()\n            .zoneId(zoneId)\n            .name(domainMailgun.name())\n            .type(\"MX\")\n            .ttl(3600)\n            .records(List.of(            \n                String.format(\"%s %s.\", domain.receivingRecords()[0].priority(),domain.receivingRecords()[0].value()),\n                String.format(\"%s %s.\", domain.receivingRecords()[1].priority(),domain.receivingRecords()[1].value())))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mailgun-mx:\n    type: aws:Route53Record\n    properties:\n      zoneId: ${zoneId}\n      name: ${domainMailgun.name}\n      type: MX\n      ttl: 3600\n      records:\n        - ${domain.receivingRecords[0].priority} ${domain.receivingRecords[0].value}.\n        - ${domain.receivingRecords[1].priority} ${domain.receivingRecords[1].value}.\nvariables:\n  domain:\n    fn::invoke:\n      function: mailgun:getDomain\n      arguments:\n        name: test.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getDomain.\n",
                "properties": {
                    "clickTracking": {
                        "type": "boolean",
                        "description": "The click tracking setting.\n"
                    },
                    "dkimKeySize": {
                        "type": "integer",
                        "willReplaceOnChanges": true
                    },
                    "dkimSelector": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "forceDkimAuthority": {
                        "type": "boolean",
                        "willReplaceOnChanges": true
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the domain.\n",
                        "willReplaceOnChanges": true
                    },
                    "openTracking": {
                        "type": "boolean",
                        "description": "The open tracking setting.\n"
                    },
                    "region": {
                        "type": "string",
                        "description": "The region where domain will be created. Default value is \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "smtpPassword": {
                        "type": "string",
                        "description": "The password to the SMTP server.\n",
                        "secret": true
                    },
                    "spamAction": {
                        "type": "string",
                        "description": "The spam filtering setting.\n",
                        "willReplaceOnChanges": true
                    },
                    "useAutomaticSenderSecurity": {
                        "type": "boolean",
                        "willReplaceOnChanges": true
                    },
                    "webScheme": {
                        "type": "string",
                        "description": "The tracking web scheme.\n"
                    },
                    "wildcard": {
                        "type": "boolean",
                        "description": "Whether or not the domain will accept email for sub-domains.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object",
                "required": [
                    "name"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getDomain.\n",
                "properties": {
                    "clickTracking": {
                        "description": "The click tracking setting.\n",
                        "type": "boolean"
                    },
                    "dkimKeySize": {
                        "type": "integer"
                    },
                    "dkimSelector": {
                        "type": "string"
                    },
                    "forceDkimAuthority": {
                        "type": "boolean"
                    },
                    "id": {
                        "description": "The provider-assigned unique ID for this managed resource.",
                        "type": "string"
                    },
                    "name": {
                        "description": "The name of the record.\n",
                        "type": "string"
                    },
                    "openTracking": {
                        "description": "The open tracking setting.\n",
                        "type": "boolean"
                    },
                    "receivingRecords": {
                        "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`receivingRecordsSet`\" pulumi-lang-dotnet=\"`ReceivingRecordsSet`\" pulumi-lang-go=\"`receivingRecordsSet`\" pulumi-lang-python=\"`receiving_records_set`\" pulumi-lang-yaml=\"`receivingRecordsSet`\" pulumi-lang-java=\"`receivingRecordsSet`\"\u003e`receivingRecordsSet`\u003c/span\u003e instead.",
                        "description": "A list of DNS records for receiving validation.\n",
                        "items": {
                            "$ref": "#/types/mailgun:index/getDomainReceivingRecord:getDomainReceivingRecord"
                        },
                        "type": "array"
                    },
                    "receivingRecordsSets": {
                        "items": {
                            "$ref": "#/types/mailgun:index/getDomainReceivingRecordsSet:getDomainReceivingRecordsSet"
                        },
                        "type": "array"
                    },
                    "region": {
                        "type": "string"
                    },
                    "sendingRecords": {
                        "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`sendingRecordsSet`\" pulumi-lang-dotnet=\"`SendingRecordsSet`\" pulumi-lang-go=\"`sendingRecordsSet`\" pulumi-lang-python=\"`sending_records_set`\" pulumi-lang-yaml=\"`sendingRecordsSet`\" pulumi-lang-java=\"`sendingRecordsSet`\"\u003e`sendingRecordsSet`\u003c/span\u003e instead.",
                        "description": "A list of DNS records for sending validation.\n",
                        "items": {
                            "$ref": "#/types/mailgun:index/getDomainSendingRecord:getDomainSendingRecord"
                        },
                        "type": "array"
                    },
                    "sendingRecordsSets": {
                        "items": {
                            "$ref": "#/types/mailgun:index/getDomainSendingRecordsSet:getDomainSendingRecordsSet"
                        },
                        "type": "array"
                    },
                    "smtpLogin": {
                        "description": "The login email for the SMTP server.\n",
                        "type": "string"
                    },
                    "smtpPassword": {
                        "description": "The password to the SMTP server.\n",
                        "secret": true,
                        "type": "string"
                    },
                    "spamAction": {
                        "description": "The spam filtering setting.\n",
                        "type": "string"
                    },
                    "useAutomaticSenderSecurity": {
                        "type": "boolean"
                    },
                    "webScheme": {
                        "description": "The tracking web scheme.\n",
                        "type": "string"
                    },
                    "wildcard": {
                        "description": "Whether or not the domain will accept email for sub-domains.\n",
                        "type": "boolean"
                    }
                },
                "required": [
                    "name",
                    "receivingRecords",
                    "receivingRecordsSets",
                    "sendingRecords",
                    "sendingRecordsSets",
                    "smtpLogin",
                    "id"
                ],
                "type": "object"
            }
        },
        "pulumi:providers:mailgun/terraformConfig": {
            "description": "This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.",
            "inputs": {
                "properties": {
                    "__self__": {
                        "type": "ref",
                        "$ref": "#/provider"
                    }
                },
                "type": "pulumi:providers:mailgun/terraformConfig",
                "required": [
                    "__self__"
                ]
            },
            "outputs": {
                "properties": {
                    "result": {
                        "additionalProperties": {
                            "$ref": "pulumi.json#/Any"
                        },
                        "type": "object"
                    }
                },
                "required": [
                    "result"
                ],
                "type": "object"
            }
        }
    }
}