{"name":"outscale","version":"1.4.0","description":"A Pulumi provider dynamically bridged from outscale.","attribution":"This Pulumi package is based on the [`outscale` Terraform Provider](https://github.com/outscale/terraform-provider-outscale).","repository":"https://github.com/outscale/terraform-provider-outscale","publisher":"outscale","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"outscale"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from outscale.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/outscale/terraform-provider-outscale)\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 please consult the source [`terraform-provider-outscale` repo](https://github.com/outscale/terraform-provider-outscale/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/outscale/terraform-provider-outscale)\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 please consult the source [`terraform-provider-outscale` repo](https://github.com/outscale/terraform-provider-outscale/issues).","respectSchemaVersion":true}},"config":{"variables":{"accessKeyId":{"type":"string","description":"The Access Key ID for API operations."},"api":{"$ref":"#/types/outscale:config%2Fapi:api"},"configFile":{"type":"string","description":"Path to the configuration file in which you have defined your credentials."},"endpoints":{"type":"array","items":{"$ref":"#/types/outscale:config%2Fendpoints:endpoints"},"deprecationMessage":"Deprecated"},"insecure":{"type":"boolean","description":"TLS insecure connection for IaaS API operations.","deprecationMessage":"Deprecated"},"oks":{"$ref":"#/types/outscale:config%2Foks:oks"},"profile":{"type":"string","description":"Name of your profile in which you define your credencial"},"region":{"type":"string","description":"The Region for API operations.","deprecationMessage":"Deprecated"},"secretKeyId":{"type":"string","description":"The Secret Key ID for API operations."},"x509CertPath":{"type":"string","description":"Path to the x509 certificate for IaaS API operations.","deprecationMessage":"Deprecated"},"x509KeyPath":{"type":"string","description":"Path to the x509 key for IaaS API operations.","deprecationMessage":"Deprecated"}}},"types":{"outscale:config/api:api":{"properties":{"endpoint":{"type":"string"},"insecure":{"type":"boolean","description":"TLS insecure connection\n"},"region":{"type":"string"},"x509CertPath":{"type":"string","description":"Path to the x509 certificate\n"},"x509KeyPath":{"type":"string","description":"Path to the x509 key\n"}},"type":"object"},"outscale:config/endpoints:endpoints":{"properties":{"api":{"type":"string","description":"The Endpoint for Outscale API operations.\n"},"oks":{"type":"string","description":"The Endpoint for OKS API operations.\n"}},"type":"object"},"outscale:config/oks:oks":{"properties":{"endpoint":{"type":"string"},"region":{"type":"string"}},"type":"object"},"outscale:index/AccessKeyTimeouts:AccessKeyTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/ApiAccessPolicyTimeouts:ApiAccessPolicyTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/ApiAccessRuleTimeouts:ApiAccessRuleTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/CaTimeouts:CaTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/ClientGatewayTag:ClientGatewayTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/ClientGatewayTimeouts:ClientGatewayTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/DhcpOptionTag:DhcpOptionTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/DhcpOptionTimeouts:DhcpOptionTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/FlexibleGpuLinkTimeouts:FlexibleGpuLinkTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/FlexibleGpuTimeouts:FlexibleGpuTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/ImageBlockDeviceMapping:ImageBlockDeviceMapping":{"properties":{"bsus":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageBlockDeviceMappingBsus:ImageBlockDeviceMappingBsus"},"description":"Information about the BSU volume to create.\n"},"deviceName":{"type":"string","description":"The device name for the volume. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`b`\" pulumi-lang-dotnet=\"`B`\" pulumi-lang-go=\"`b`\" pulumi-lang-python=\"`b`\" pulumi-lang-yaml=\"`b`\" pulumi-lang-java=\"`b`\"\u003e`b`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e, and the second `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`a`\" pulumi-lang-dotnet=\"`A`\" pulumi-lang-go=\"`a`\" pulumi-lang-python=\"`a`\" pulumi-lang-yaml=\"`a`\" pulumi-lang-java=\"`a`\"\u003e`a`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e).\n"},"virtualDeviceName":{"type":"string","description":"The name of the virtual device (`ephemeralN`).\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["deviceName","virtualDeviceName"]}}},"outscale:index/ImageBlockDeviceMappingBsus:ImageBlockDeviceMappingBsus":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"By default or if set to true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.\n"},"iops":{"type":"number","description":"The number of I/O operations per second (IOPS). This parameter must be specified only if you create an \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volume. The maximum number of IOPS allowed for \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volumes is \u003cspan pulumi-lang-nodejs=\"`13000`\" pulumi-lang-dotnet=\"`13000`\" pulumi-lang-go=\"`13000`\" pulumi-lang-python=\"`13000`\" pulumi-lang-yaml=\"`13000`\" pulumi-lang-java=\"`13000`\"\u003e`13000`\u003c/span\u003e with a maximum performance ratio of 300 IOPS per gibibyte.\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot used to create the volume.\n"},"volumeSize":{"type":"number","description":"The size of the volume, in gibibytes (GiB).\u003cbr /\u003e\nIf you specify a snapshot ID, the volume size must be at least equal to the snapshot size.\u003cbr /\u003e\nIf you specify a snapshot ID but no volume size, the volume is created with a size similar to the snapshot one.\n"},"volumeType":{"type":"string","description":"The type of the volume (\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e). If not specified in the request, a \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e volume is created.\u003cbr /\u003e\nFor more information about volume types, see [About Volumes \u003e Volume Types and IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_types_and_iops).\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["deleteOnVmDeletion","iops","snapshotId","volumeSize","volumeType"]}}},"outscale:index/ImageExportTaskOsuExport:ImageExportTaskOsuExport":{"properties":{"diskImageFormat":{"type":"string","description":"The format of the export disk (\u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e).\n"},"osuApiKeys":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageExportTaskOsuExportOsuApiKey:ImageExportTaskOsuExportOsuApiKey"},"description":"Information about the OOS API key.\n"},"osuBucket":{"type":"string","description":"The name of the OOS bucket where you want to export the object.\n"},"osuManifestUrl":{"type":"string","description":"The URL of the manifest file.\n"},"osuPrefix":{"type":"string","description":"The prefix for the key of the OOS object.\n"}},"type":"object","required":["diskImageFormat","osuBucket"],"language":{"nodejs":{"requiredOutputs":["diskImageFormat","osuBucket","osuManifestUrl"]}}},"outscale:index/ImageExportTaskOsuExportOsuApiKey:ImageExportTaskOsuExportOsuApiKey":{"properties":{"apiKeyId":{"type":"string","description":"The API key of the OOS account that enables you to access the bucket.\n"},"secretKey":{"type":"string","description":"The secret key of the OOS account that enables you to access the bucket.\n"}},"type":"object","required":["apiKeyId","secretKey"]},"outscale:index/ImageExportTaskTag:ImageExportTaskTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/ImageExportTaskTimeouts:ImageExportTaskTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/ImageLaunchPermissionPermissionAdditions:ImageLaunchPermissionPermissionAdditions":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"The account ID of one or more users to whom you want to give permissions.\n"},"globalPermission":{"type":"string","description":"If true, the resource is public. If false, the resource is private.\n"}},"type":"object"},"outscale:index/ImageLaunchPermissionPermissionRemovals:ImageLaunchPermissionPermissionRemovals":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"The account ID of one or more users from whom you want to remove permissions.\n"},"globalPermission":{"type":"string","description":"If true, the resource is public. If false, the resource is private.\n"}},"type":"object"},"outscale:index/ImageLaunchPermissionPermissionsToLaunch:ImageLaunchPermissionPermissionsToLaunch":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"One or more account IDs that the permission is associated with.\n"},"globalPermission":{"type":"string","description":"A global permission for all accounts.\u003cbr /\u003e\n(Request) Set this parameter to true to make the resource public (if the parent parameter is \u003cspan pulumi-lang-nodejs=\"`additions`\" pulumi-lang-dotnet=\"`Additions`\" pulumi-lang-go=\"`additions`\" pulumi-lang-python=\"`additions`\" pulumi-lang-yaml=\"`additions`\" pulumi-lang-java=\"`additions`\"\u003e`additions`\u003c/span\u003e) or to make the resource private (if the parent parameter is \u003cspan pulumi-lang-nodejs=\"`removals`\" pulumi-lang-dotnet=\"`Removals`\" pulumi-lang-go=\"`removals`\" pulumi-lang-python=\"`removals`\" pulumi-lang-yaml=\"`removals`\" pulumi-lang-java=\"`removals`\"\u003e`removals`\u003c/span\u003e).\u003cbr /\u003e\n(Response) If true, the resource is public. If false, the resource is private.\n"}},"type":"object","required":["accountIds","globalPermission"]},"outscale:index/ImageLaunchPermissionTimeouts:ImageLaunchPermissionTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"}},"type":"object"},"outscale:index/ImagePermissionsToLaunch:ImagePermissionsToLaunch":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"One or more account IDs that the permission is associated with.\n"},"globalPermission":{"type":"boolean","description":"A global permission for all accounts.\u003cbr /\u003e\n(Request) Set this parameter to true to make the resource public (if the parent parameter is `Additions`) or to make the resource private (if the parent parameter is `Removals`).\u003cbr /\u003e\n(Response) If true, the resource is public. If false, the resource is private.\n"}},"type":"object","required":["accountIds","globalPermission"]},"outscale:index/ImageStateComment:ImageStateComment":{"properties":{"stateCode":{"type":"string","description":"The code of the change of state.\n"},"stateMessage":{"type":"string","description":"A message explaining the change of state.\n"}},"type":"object","required":["stateCode","stateMessage"]},"outscale:index/ImageTag:ImageTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/ImageTimeouts:ImageTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/InternetServiceLinkTag:InternetServiceLinkTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"]},"outscale:index/InternetServiceLinkTimeouts:InternetServiceLinkTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/InternetServiceTag:InternetServiceTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/InternetServiceTimeouts:InternetServiceTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/KeypairTag:KeypairTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/KeypairTimeouts:KeypairTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/LoadBalancerAccessLog:LoadBalancerAccessLog":{"properties":{"isEnabled":{"type":"boolean","description":"If true, access logs are enabled for your load balancer. If false, they are not. If you set this to true in your request, the \u003cspan pulumi-lang-nodejs=\"`osuBucketName`\" pulumi-lang-dotnet=\"`OsuBucketName`\" pulumi-lang-go=\"`osuBucketName`\" pulumi-lang-python=\"`osu_bucket_name`\" pulumi-lang-yaml=\"`osuBucketName`\" pulumi-lang-java=\"`osuBucketName`\"\u003e`osu_bucket_name`\u003c/span\u003e parameter is required.\n"},"osuBucketName":{"type":"string","description":"The name of the OOS bucket for the access logs.\n"},"osuBucketPrefix":{"type":"string","description":"The path to the folder of the access logs in your OOS bucket (by default, the \u003cspan pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\"\u003e`root`\u003c/span\u003e level of your bucket).\n"},"publicationInterval":{"type":"number","description":"The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e (by default, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e).\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["isEnabled","osuBucketName","osuBucketPrefix","publicationInterval"]}}},"outscale:index/LoadBalancerApplicationStickyCookiePolicy:LoadBalancerApplicationStickyCookiePolicy":{"properties":{"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness.\n"},"policyName":{"type":"string","description":"The name of the stickiness policy.\n"}},"type":"object","required":["cookieName","policyName"]},"outscale:index/LoadBalancerAttributesAccessLog:LoadBalancerAttributesAccessLog":{"properties":{"isEnabled":{"type":"boolean","description":"If true, access logs are enabled for your load balancer. If false, they are not. If you set this to true in your request, the \u003cspan pulumi-lang-nodejs=\"`osuBucketName`\" pulumi-lang-dotnet=\"`OsuBucketName`\" pulumi-lang-go=\"`osuBucketName`\" pulumi-lang-python=\"`osu_bucket_name`\" pulumi-lang-yaml=\"`osuBucketName`\" pulumi-lang-java=\"`osuBucketName`\"\u003e`osu_bucket_name`\u003c/span\u003e parameter is required.\n"},"osuBucketName":{"type":"string","description":"The name of the OOS bucket for the access logs.\n"},"osuBucketPrefix":{"type":"string","description":"The path to the folder of the access logs in your OOS bucket (by default, the \u003cspan pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\"\u003e`root`\u003c/span\u003e level of your bucket).\n"},"publicationInterval":{"type":"number","description":"The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e (by default, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e).\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["isEnabled"]}}},"outscale:index/LoadBalancerAttributesApplicationStickyCookiePolicy:LoadBalancerAttributesApplicationStickyCookiePolicy":{"properties":{"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness.\n"},"policyName":{"type":"string","description":"The name of the stickiness policy.\n"}},"type":"object","required":["cookieName","policyName"]},"outscale:index/LoadBalancerAttributesHealthCheck:LoadBalancerAttributesHealthCheck":{"properties":{"checkInterval":{"type":"number","description":"The number of seconds between two requests (between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e both included).\n"},"healthyThreshold":{"type":"number","description":"The number of consecutive successful requests before considering the VM as healthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"},"path":{"type":"string","description":"If you use the HTTP or HTTPS protocols, the request URL path. Always starts with a slash (`/`).\n"},"port":{"type":"number","description":"The port number (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"protocol":{"type":"string","description":"The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"timeout":{"type":"number","description":"The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e both included).\n"},"unhealthyThreshold":{"type":"number","description":"The number of consecutive failed requests before considering the VM as unhealthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"}},"type":"object","required":["port","protocol"],"language":{"nodejs":{"requiredOutputs":["checkInterval","healthyThreshold","port","protocol","timeout","unhealthyThreshold"]}}},"outscale:index/LoadBalancerAttributesListener:LoadBalancerAttributesListener":{"properties":{"backendPort":{"type":"number","description":"The port on which the backend VM is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"backendProtocol":{"type":"string","description":"The protocol for routing traffic to backend VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"loadBalancerPort":{"type":"number","description":"The port on which the load balancer is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included). This parameter is required if you want to update the server certificate.\n"},"loadBalancerProtocol":{"type":"string","description":"The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"policyNames":{"type":"array","items":{"type":"string"},"description":"The name of the policy you want to enable for the listener.\n"},"serverCertificateId":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns). If this parameter is specified, you must also specify the \u003cspan pulumi-lang-nodejs=\"`loadBalancerPort`\" pulumi-lang-dotnet=\"`LoadBalancerPort`\" pulumi-lang-go=\"`loadBalancerPort`\" pulumi-lang-python=\"`load_balancer_port`\" pulumi-lang-yaml=\"`loadBalancerPort`\" pulumi-lang-java=\"`loadBalancerPort`\"\u003e`load_balancer_port`\u003c/span\u003e parameter.\n"}},"type":"object","required":["backendPort","backendProtocol","loadBalancerPort","loadBalancerProtocol","policyNames","serverCertificateId"]},"outscale:index/LoadBalancerAttributesLoadBalancerStickyCookiePolicy:LoadBalancerAttributesLoadBalancerStickyCookiePolicy":{"properties":{"policyName":{"type":"string","description":"The name of the stickiness policy.\n"}},"type":"object","required":["policyName"]},"outscale:index/LoadBalancerAttributesSourceSecurityGroup:LoadBalancerAttributesSourceSecurityGroup":{"properties":{"securityGroupAccountId":{"type":"string","description":"The account ID of the owner of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupAccountId","securityGroupName"]},"outscale:index/LoadBalancerAttributesTag:LoadBalancerAttributesTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"]},"outscale:index/LoadBalancerAttributesTimeouts:LoadBalancerAttributesTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/LoadBalancerHealthCheck:LoadBalancerHealthCheck":{"properties":{"checkInterval":{"type":"number","description":"The number of seconds between two requests (between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e both included).\n"},"healthyThreshold":{"type":"number","description":"The number of consecutive successful requests before considering the VM as healthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"},"path":{"type":"string","description":"If you use the HTTP or HTTPS protocols, the request URL path. Always starts with a slash (`/`).\n"},"port":{"type":"number","description":"The port number (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"protocol":{"type":"string","description":"The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"timeout":{"type":"number","description":"The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e both included).\n"},"unhealthyThreshold":{"type":"number","description":"The number of consecutive failed requests before considering the VM as unhealthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"}},"type":"object","required":["checkInterval","healthyThreshold","path","port","protocol","timeout","unhealthyThreshold"]},"outscale:index/LoadBalancerListener:LoadBalancerListener":{"properties":{"backendPort":{"type":"number","description":"The port on which the backend VM is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"backendProtocol":{"type":"string","description":"The protocol for routing traffic to backend VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"loadBalancerPort":{"type":"number","description":"The port on which the load balancer is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"loadBalancerProtocol":{"type":"string","description":"The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"policyNames":{"type":"array","items":{"type":"string"},"description":"The names of the policies. If there are no policies enabled, the list is empty.\n"},"serverCertificateId":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns).\u003cbr/\u003e\nThis parameter is required for `HTTPS` and `SSL` protocols.\n"}},"type":"object","required":["backendPort","backendProtocol","loadBalancerPort","loadBalancerProtocol"],"language":{"nodejs":{"requiredOutputs":["backendPort","backendProtocol","loadBalancerPort","loadBalancerProtocol","policyNames"]}}},"outscale:index/LoadBalancerListenerRuleListener:LoadBalancerListenerRuleListener":{"properties":{"loadBalancerName":{"type":"string","description":"The name of the load balancer to which the listener is attached.\n"},"loadBalancerPort":{"type":"number","description":"The port of load balancer on which the load balancer is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e both included).\n"}},"type":"object","required":["loadBalancerName","loadBalancerPort"]},"outscale:index/LoadBalancerListenerRuleListenerRule:LoadBalancerListenerRuleListenerRule":{"properties":{"action":{"type":"string","description":"The type of action for the rule (always \u003cspan pulumi-lang-nodejs=\"`forward`\" pulumi-lang-dotnet=\"`Forward`\" pulumi-lang-go=\"`forward`\" pulumi-lang-python=\"`forward`\" pulumi-lang-yaml=\"`forward`\" pulumi-lang-java=\"`forward`\"\u003e`forward`\u003c/span\u003e).\n"},"hostNamePattern":{"type":"string","description":"A host-name pattern for the rule, with a maximum length of 128 characters. This host-name pattern supports maximum three wildcards, and must not contain any special characters except `-.?`.\n"},"listenerId":{"type":"number","description":"The ID of the listener.\n"},"listenerRuleId":{"type":"number","description":"The ID of the listener rule.\n"},"listenerRuleName":{"type":"string","description":"A human-readable name for the listener rule.\n"},"pathPattern":{"type":"string","description":"A path pattern for the rule, with a maximum length of 128 characters. This path pattern supports maximum three wildcards, and must not contain any special characters except `_-.$/~\u0026quot;'@:+?`.\n"},"priority":{"type":"number","description":"The priority level of the listener rule, between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`19999`\" pulumi-lang-dotnet=\"`19999`\" pulumi-lang-go=\"`19999`\" pulumi-lang-python=\"`19999`\" pulumi-lang-yaml=\"`19999`\" pulumi-lang-java=\"`19999`\"\u003e`19999`\u003c/span\u003e both included. Each rule must have a unique priority level. Otherwise, an error is returned.\n"}},"type":"object","required":["listenerRuleName","priority"],"language":{"nodejs":{"requiredOutputs":["action","hostNamePattern","listenerId","listenerRuleId","listenerRuleName","pathPattern","priority"]}}},"outscale:index/LoadBalancerListenerRuleTimeouts:LoadBalancerListenerRuleTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/LoadBalancerLoadBalancerStickyCookiePolicy:LoadBalancerLoadBalancerStickyCookiePolicy":{"properties":{"policyName":{"type":"string","description":"The name of the stickiness policy.\n"}},"type":"object","required":["policyName"]},"outscale:index/LoadBalancerPolicyAccessLog:LoadBalancerPolicyAccessLog":{"properties":{"isEnabled":{"type":"boolean","description":"If true, access logs are enabled for your load balancer. If false, they are not. If you set this to true in your request, the \u003cspan pulumi-lang-nodejs=\"`osuBucketName`\" pulumi-lang-dotnet=\"`OsuBucketName`\" pulumi-lang-go=\"`osuBucketName`\" pulumi-lang-python=\"`osu_bucket_name`\" pulumi-lang-yaml=\"`osuBucketName`\" pulumi-lang-java=\"`osuBucketName`\"\u003e`osu_bucket_name`\u003c/span\u003e parameter is required.\n"},"osuBucketName":{"type":"string","description":"The name of the OOS bucket for the access logs.\n"},"osuBucketPrefix":{"type":"string","description":"The path to the folder of the access logs in your OOS bucket (by default, the \u003cspan pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\"\u003e`root`\u003c/span\u003e level of your bucket).\n"},"publicationInterval":{"type":"number","description":"The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e (by default, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e).\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["isEnabled","osuBucketName","osuBucketPrefix","publicationInterval"]}}},"outscale:index/LoadBalancerPolicyApplicationStickyCookiePolicy:LoadBalancerPolicyApplicationStickyCookiePolicy":{"properties":{"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness. This parameter is required if you create a stickiness policy based on an application-generated cookie.\n"},"policyName":{"type":"string","description":"The unique name of the policy, with a maximum length of 32 alphanumeric characters and dashes (`-`).\n"}},"type":"object","required":["cookieName","policyName"]},"outscale:index/LoadBalancerPolicyHealthCheck:LoadBalancerPolicyHealthCheck":{"properties":{"checkInterval":{"type":"number","description":"The number of seconds between two requests (between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e both included).\n"},"healthyThreshold":{"type":"number","description":"The number of consecutive successful requests before considering the VM as healthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"},"path":{"type":"string","description":"If you use the HTTP or HTTPS protocols, the request URL path. Always starts with a slash (`/`).\n"},"port":{"type":"number","description":"The port number (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"protocol":{"type":"string","description":"The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"timeout":{"type":"number","description":"The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e both included).\n"},"unhealthyThreshold":{"type":"number","description":"The number of consecutive failed requests before considering the VM as unhealthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"}},"type":"object","required":["checkInterval","healthyThreshold","path","port","protocol","timeout","unhealthyThreshold"]},"outscale:index/LoadBalancerPolicyListener:LoadBalancerPolicyListener":{"properties":{"backendPort":{"type":"number","description":"The port on which the backend VM is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"backendProtocol":{"type":"string","description":"The protocol for routing traffic to backend VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"loadBalancerPort":{"type":"number","description":"The port on which the load balancer is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"loadBalancerProtocol":{"type":"string","description":"The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"policyNames":{"type":"array","items":{"type":"string"},"description":"The names of the policies. If there are no policies enabled, the list is empty.\n"},"serverCertificateId":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns).\n"}},"type":"object","required":["backendPort","backendProtocol","loadBalancerPort","loadBalancerProtocol","policyNames","serverCertificateId"]},"outscale:index/LoadBalancerPolicyLoadBalancerStickyCookiePolicy:LoadBalancerPolicyLoadBalancerStickyCookiePolicy":{"properties":{"policyName":{"type":"string","description":"The unique name of the policy, with a maximum length of 32 alphanumeric characters and dashes (`-`).\n"}},"type":"object","required":["policyName"]},"outscale:index/LoadBalancerPolicySourceSecurityGroup:LoadBalancerPolicySourceSecurityGroup":{"properties":{"securityGroupAccountId":{"type":"string","description":"The account ID of the owner of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupAccountId","securityGroupName"]},"outscale:index/LoadBalancerPolicyTag:LoadBalancerPolicyTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"]},"outscale:index/LoadBalancerPolicyTimeouts:LoadBalancerPolicyTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"}},"type":"object"},"outscale:index/LoadBalancerSourceSecurityGroup:LoadBalancerSourceSecurityGroup":{"properties":{"securityGroupAccountId":{"type":"string","description":"The account ID of the owner of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupAccountId","securityGroupName"]},"outscale:index/LoadBalancerTag:LoadBalancerTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/LoadBalancerTimeouts:LoadBalancerTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/LoadBalancerVmsTimeouts:LoadBalancerVmsTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/MainRouteTableLinkTimeouts:MainRouteTableLinkTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/NatServicePublicIp:NatServicePublicIp":{"properties":{"publicIp":{"type":"string","description":"The public IP associated with the NAT service.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP to associate with the NAT service.\u003cbr /\u003e\nIf the public IP is already associated with another resource, you must first disassociate it.\n"}},"type":"object","required":["publicIp","publicIpId"]},"outscale:index/NatServiceTag:NatServiceTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/NatServiceTimeouts:NatServiceTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/NetAccessPointTag:NetAccessPointTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/NetAccessPointTimeouts:NetAccessPointTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/NetAttributesTag:NetAttributesTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"]},"outscale:index/NetAttributesTimeouts:NetAttributesTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/NetPeeringAcceptationAccepterNet:NetPeeringAcceptationAccepterNet":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the source Net.\n"},"ipRange":{"type":"string","description":"The IP range for the source Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the source Net.\n"}},"type":"object","required":["accountId","ipRange","netId"]},"outscale:index/NetPeeringAcceptationSourceNet:NetPeeringAcceptationSourceNet":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the source Net.\n"},"ipRange":{"type":"string","description":"The IP range for the source Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the source Net.\n"}},"type":"object","required":["accountId","ipRange","netId"]},"outscale:index/NetPeeringAcceptationState:NetPeeringAcceptationState":{"properties":{"message":{"type":"string","description":"Additional information about the state of the Net peering.\n"},"name":{"type":"string","description":"The state of the Net peering (`pending-acceptance` \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"}},"type":"object","required":["message","name"]},"outscale:index/NetPeeringAcceptationTag:NetPeeringAcceptationTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"]},"outscale:index/NetPeeringAcceptationTimeouts:NetPeeringAcceptationTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/NetPeeringAccepterNet:NetPeeringAccepterNet":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the source Net.\n"},"ipRange":{"type":"string","description":"The IP range for the source Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the source Net.\n"}},"type":"object","required":["accountId","ipRange","netId"]},"outscale:index/NetPeeringSourceNet:NetPeeringSourceNet":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the source Net.\n"},"ipRange":{"type":"string","description":"The IP range for the source Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the source Net.\n"}},"type":"object","required":["accountId","ipRange","netId"]},"outscale:index/NetPeeringState:NetPeeringState":{"properties":{"message":{"type":"string","description":"Additional information about the state of the Net peering.\n"},"name":{"type":"string","description":"The state of the Net peering (`pending-acceptance` \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"}},"type":"object","required":["message","name"]},"outscale:index/NetPeeringTag:NetPeeringTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/NetPeeringTimeouts:NetPeeringTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/NetTag:NetTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/NetTimeouts:NetTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/NicLinkNic:NicLinkNic":{"properties":{"deleteOnVmDeletion":{"type":"string","description":"If true, the NIC is deleted when the VM is terminated.\n"},"deviceNumber":{"type":"number","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.\n"},"state":{"type":"string","description":"The state of the NIC (\u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n"},"vmAccountId":{"type":"string","description":"The account ID of the owner of the VM.\n"},"vmId":{"type":"string","description":"The ID of the VM.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","state","vmAccountId","vmId"]},"outscale:index/NicLinkPublicIp:NicLinkPublicIp":{"properties":{"linkPublicIpId":{"type":"string","description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n"},"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP associated with the NIC.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"}},"type":"object","required":["linkPublicIpId","publicDnsName","publicIp","publicIpAccountId","publicIpId"]},"outscale:index/NicLinkTimeouts:NicLinkTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"}},"type":"object"},"outscale:index/NicPrivateIp:NicPrivateIp":{"properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicPrivateIpLinkPublicIp:NicPrivateIpLinkPublicIp"},"description":"Information about the public IP association.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The private IP of the NIC.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["isPrimary","linkPublicIps","privateDnsName","privateIp"]}}},"outscale:index/NicPrivateIpLinkPublicIp:NicPrivateIpLinkPublicIp":{"properties":{"linkPublicIpId":{"type":"string","description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n"},"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP associated with the NIC.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"}},"type":"object","required":["linkPublicIpId","publicDnsName","publicIp","publicIpAccountId","publicIpId"]},"outscale:index/NicPrivateIpTimeouts:NicPrivateIpTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"}},"type":"object"},"outscale:index/NicSecurityGroup:NicSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"]},"outscale:index/NicTag:NicTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/NicTimeouts:NicTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/OksClusterAdmissionFlags:OksClusterAdmissionFlags":{"properties":{"appliedAdmissionPlugins":{"type":"array","items":{"type":"string"},"description":"The list of admission plugins that are currently applied to the cluster.\n"},"disableAdmissionPlugins":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes admission plugins to disable.\n"},"disableAdmissionPluginsActuals":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes admission plugins that are disabled.\n"},"enableAdmissionPlugins":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes admission plugins to enable.\n"},"enableAdmissionPluginsActuals":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes admission plugins that are enabled.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["appliedAdmissionPlugins","disableAdmissionPlugins","disableAdmissionPluginsActuals","enableAdmissionPlugins","enableAdmissionPluginsActuals"]}}},"outscale:index/OksClusterAutoMaintenances:OksClusterAutoMaintenances":{"properties":{"minorUpgradeMaintenance":{"$ref":"#/types/outscale:index%2FOksClusterAutoMaintenancesMinorUpgradeMaintenance:OksClusterAutoMaintenancesMinorUpgradeMaintenance","description":"The maintenance window configuration for minor Kubernetes upgrades.\n"},"minorUpgradeMaintenanceActual":{"$ref":"#/types/outscale:index%2FOksClusterAutoMaintenancesMinorUpgradeMaintenanceActual:OksClusterAutoMaintenancesMinorUpgradeMaintenanceActual","description":"The maintenance window configuration for minor Kubernetes upgrades.\n"},"patchUpgradeMaintenance":{"$ref":"#/types/outscale:index%2FOksClusterAutoMaintenancesPatchUpgradeMaintenance:OksClusterAutoMaintenancesPatchUpgradeMaintenance","description":"The maintenance window configuration for patch Kubernetes upgrades.\n"},"patchUpgradeMaintenanceActual":{"$ref":"#/types/outscale:index%2FOksClusterAutoMaintenancesPatchUpgradeMaintenanceActual:OksClusterAutoMaintenancesPatchUpgradeMaintenanceActual","description":"The maintenance window configuration for minor Kubernetes upgrades.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["minorUpgradeMaintenanceActual","patchUpgradeMaintenanceActual"]}}},"outscale:index/OksClusterAutoMaintenancesMinorUpgradeMaintenance:OksClusterAutoMaintenancesMinorUpgradeMaintenance":{"properties":{"durationHours":{"type":"number","description":"The duration of the maintenance window, in hours. By default, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"If true, a maintenance window is enabled. By default, true.\n"},"startHour":{"type":"number","description":"The starting time of the maintenance window, in hours. By default, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e.\n"},"tz":{"type":"string","description":"The timezone for the maintenance window. By default, `UTC`.\n"},"weekDay":{"type":"string","description":"The weekday on which the maintenance window begins (`Mon` \\| `Tue` \\| `Wed` \\| `Thu` \\| `Fri` \\| `Sat` \\| `Sun`). By default, `Tue`.\n"}},"type":"object"},"outscale:index/OksClusterAutoMaintenancesMinorUpgradeMaintenanceActual:OksClusterAutoMaintenancesMinorUpgradeMaintenanceActual":{"properties":{"durationHours":{"type":"number"},"enabled":{"type":"boolean"},"startHour":{"type":"number"},"tz":{"type":"string"},"weekDay":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["durationHours","enabled","startHour","tz","weekDay"]}}},"outscale:index/OksClusterAutoMaintenancesPatchUpgradeMaintenance:OksClusterAutoMaintenancesPatchUpgradeMaintenance":{"properties":{"durationHours":{"type":"number","description":"The duration of the maintenance window, in hours. By default, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"enabled":{"type":"boolean","description":"If true, a maintenance window is enabled. By default, true.\n"},"startHour":{"type":"number","description":"The starting time of the maintenance window, in hours. By default, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e.\n"},"tz":{"type":"string","description":"The timezone for the maintenance window. By default, `UTC`.\n"},"weekDay":{"type":"string","description":"The weekday on which the maintenance window begins (`Mon` \\| `Tue` \\| `Wed` \\| `Thu` \\| `Fri` \\| `Sat` \\| `Sun`). By default, `Tue`.\n"}},"type":"object"},"outscale:index/OksClusterAutoMaintenancesPatchUpgradeMaintenanceActual:OksClusterAutoMaintenancesPatchUpgradeMaintenanceActual":{"properties":{"durationHours":{"type":"number"},"enabled":{"type":"boolean"},"startHour":{"type":"number"},"tz":{"type":"string"},"weekDay":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["durationHours","enabled","startHour","tz","weekDay"]}}},"outscale:index/OksClusterStatuses:OksClusterStatuses":{"properties":{"availableUpgrade":{"type":"string","description":"Any available version of Kubernetes for upgrade (if applicable). For more information, see [GetKubernetesVersions](https://docs.outscale.com/oks.html#getkubenetesversions).\n"},"createdAt":{"type":"string","description":"The timestamp when the cluster was created (date-time).\n"},"deletedAt":{"type":"string","description":"The timestamp when the cluster was deleted (if applicable) (date-time).\n"},"status":{"type":"string","description":"The status of the cluster.\n"},"updatedAt":{"type":"string","description":"The timestamp when the cluster was last updated (date-time).\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["availableUpgrade","createdAt","deletedAt","status","updatedAt"]}}},"outscale:index/OksClusterTimeouts:OksClusterTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/OksProjectTimeouts:OksProjectTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/PolicyTimeouts:PolicyTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"}},"type":"object"},"outscale:index/PolicyVersionTimeouts:PolicyVersionTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"}},"type":"object"},"outscale:index/ProviderApi:ProviderApi":{"properties":{"endpoint":{"type":"string"},"insecure":{"type":"boolean","description":"TLS insecure connection\n"},"region":{"type":"string"},"x509CertPath":{"type":"string","description":"Path to the x509 certificate\n"},"x509KeyPath":{"type":"string","description":"Path to the x509 key\n"}},"type":"object"},"outscale:index/ProviderEndpoint:ProviderEndpoint":{"properties":{"api":{"type":"string","description":"The Endpoint for Outscale API operations.\n"},"oks":{"type":"string","description":"The Endpoint for OKS API operations.\n"}},"type":"object"},"outscale:index/ProviderOks:ProviderOks":{"properties":{"endpoint":{"type":"string"},"region":{"type":"string"}},"type":"object"},"outscale:index/PublicIpLinkTag:PublicIpLinkTag":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"outscale:index/PublicIpLinkTimeouts:PublicIpLinkTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"}},"type":"object"},"outscale:index/PublicIpTag:PublicIpTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/PublicIpTimeouts:PublicIpTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/RouteTableLinkRouteTable:RouteTableLinkRouteTable":{"properties":{"linkRouteTableId":{"type":"string","description":"The ID of the association between the route table and the Net or Subnet.\n"},"main":{"type":"boolean","description":"If true, the route table is the main one.\n"},"netId":{"type":"string","description":"The ID of the Net for which you want to create a route table.\n"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet, if the route table is explicitly linked to a Subnet.\n"}},"type":"object","required":["linkRouteTableId","main","netId","routeTableId","subnetId"]},"outscale:index/RouteTableLinkTimeouts:RouteTableLinkTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/RouteTableRoute:RouteTableRoute":{"properties":{"creationMethod":{"type":"string","description":"The method used to create the route.\n"},"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"},"destinationServiceId":{"type":"string","description":"The ID of the OUTSCALE service.\n"},"gatewayId":{"type":"string","description":"The ID of the internet service or virtual gateway attached to the Net.\n"},"natServiceId":{"type":"string","description":"The ID of a NAT service attached to the Net.\n"},"netAccessPointId":{"type":"string","description":"The ID of the Net access point.\n"},"netPeeringId":{"type":"string","description":"The ID of the Net peering.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"state":{"type":"string","description":"The state of a route in the route table (always \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e).\n"},"vmAccountId":{"type":"string","description":"The account ID of the owner of the VM.\n"},"vmId":{"type":"string","description":"The ID of a VM specified in a route in the table.\n"}},"type":"object","required":["creationMethod","destinationIpRange","destinationServiceId","gatewayId","natServiceId","netAccessPointId","netPeeringId","nicId","state","vmAccountId","vmId"]},"outscale:index/RouteTableRoutePropagatingVirtualGateway:RouteTableRoutePropagatingVirtualGateway":{"properties":{"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"}},"type":"object","required":["virtualGatewayId"]},"outscale:index/RouteTableTag:RouteTableTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/RouteTableTimeouts:RouteTableTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/RouteTimeouts:RouteTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/SecurityGroupInboundRule:SecurityGroupInboundRule":{"properties":{"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IP ranges for the security group rules, in CIDR notation (for example, `10.0.0.0/16`).\n"},"securityGroupsMembers":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupInboundRuleSecurityGroupsMember:SecurityGroupInboundRuleSecurityGroupsMember"},"description":"Information about one or more source or destination security groups.\n"},"serviceIds":{"type":"array","items":{"type":"string"},"description":"One or more service IDs to allow traffic from a Net to access the corresponding OUTSCALE services. For more information, see [ReadNetAccessPointServices](https://docs.outscale.com/api#readnetaccesspointservices).\n"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n"}},"type":"object","required":["fromPortRange","ipProtocol","ipRanges","securityGroupsMembers","serviceIds","toPortRange"]},"outscale:index/SecurityGroupInboundRuleSecurityGroupsMember:SecurityGroupInboundRuleSecurityGroupsMember":{"properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"A name for the security group.\u003cbr /\u003e\nThis name must be unique and contain between 1 and 255 characters. It must not start with `sg-`. Allowed characters are `a-z`, `A-Z`, `0-9`, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.\u003cbr /\u003e\nIf not specified, the security group name is randomly generated.\n"}},"type":"object","required":["accountId","securityGroupId","securityGroupName"]},"outscale:index/SecurityGroupOutboundRule:SecurityGroupOutboundRule":{"properties":{"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IP ranges for the security group rules, in CIDR notation (for example, `10.0.0.0/16`).\n"},"securityGroupsMembers":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupOutboundRuleSecurityGroupsMember:SecurityGroupOutboundRuleSecurityGroupsMember"},"description":"Information about one or more source or destination security groups.\n"},"serviceIds":{"type":"array","items":{"type":"string"},"description":"One or more service IDs to allow traffic from a Net to access the corresponding OUTSCALE services. For more information, see [ReadNetAccessPointServices](https://docs.outscale.com/api#readnetaccesspointservices).\n"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n"}},"type":"object","required":["fromPortRange","ipProtocol","ipRanges","securityGroupsMembers","serviceIds","toPortRange"]},"outscale:index/SecurityGroupOutboundRuleSecurityGroupsMember:SecurityGroupOutboundRuleSecurityGroupsMember":{"properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"A name for the security group.\u003cbr /\u003e\nThis name must be unique and contain between 1 and 255 characters. It must not start with `sg-`. Allowed characters are `a-z`, `A-Z`, `0-9`, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.\u003cbr /\u003e\nIf not specified, the security group name is randomly generated.\n"}},"type":"object","required":["accountId","securityGroupId","securityGroupName"]},"outscale:index/SecurityGroupRuleRule:SecurityGroupRuleRule":{"properties":{"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IP ranges for the security group rules, in CIDR notation (for example, `10.0.0.0/16`).\n"},"securityGroupsMembers":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupRuleRuleSecurityGroupsMember:SecurityGroupRuleRuleSecurityGroupsMember"},"description":"Information about one or more source or destination security groups.\n"},"serviceIds":{"type":"array","items":{"type":"string"},"description":"One or more service IDs to allow traffic from a Net to access the corresponding OUTSCALE services. For more information, see [ReadNetAccessPointServices](https://docs.outscale.com/api#readnetaccesspointservices).\n"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["ipRanges","serviceIds"]}}},"outscale:index/SecurityGroupRuleRuleSecurityGroupsMember:SecurityGroupRuleRuleSecurityGroupsMember":{"properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"securityGroupId":{"type":"string","description":"The ID of a source or destination security group that you want to link to the security group of the rule.\n"},"securityGroupName":{"type":"string","description":"(Public Cloud only) The name of a source or destination security group that you want to link to the security group of the rule.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["accountId","securityGroupId","securityGroupName"]}}},"outscale:index/SecurityGroupRuleTimeouts:SecurityGroupRuleTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/SecurityGroupTag:SecurityGroupTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/SecurityGroupTimeouts:SecurityGroupTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/ServerCertificateTimeouts:ServerCertificateTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/SnapshotAttributesPermissionsToCreateVolumeAdditions:SnapshotAttributesPermissionsToCreateVolumeAdditions":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"The account ID of one or more users to whom you want to give permissions.\n"},"globalPermission":{"type":"boolean","description":"If true, the resource is public. If false, the resource is private.\n"}},"type":"object"},"outscale:index/SnapshotAttributesPermissionsToCreateVolumeRemoval:SnapshotAttributesPermissionsToCreateVolumeRemoval":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"The account ID of one or more users from whom you want to remove permissions.\n"},"globalPermission":{"type":"boolean","description":"If true, the resource is public. If false, the resource is private.\n"}},"type":"object"},"outscale:index/SnapshotAttributesTimeouts:SnapshotAttributesTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"}},"type":"object"},"outscale:index/SnapshotExportTaskOsuExport:SnapshotExportTaskOsuExport":{"properties":{"diskImageFormat":{"type":"string","description":"The format of the export disk (\u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e).\n"},"osuApiKeys":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskOsuExportOsuApiKey:SnapshotExportTaskOsuExportOsuApiKey"},"description":"Information about the OOS API key.\n"},"osuBucket":{"type":"string","description":"The name of the OOS bucket where you want to export the object.\n"},"osuPrefix":{"type":"string","description":"The prefix for the key of the OOS object.\n"}},"type":"object","required":["diskImageFormat","osuBucket"],"language":{"nodejs":{"requiredOutputs":["diskImageFormat","osuBucket","osuPrefix"]}}},"outscale:index/SnapshotExportTaskOsuExportOsuApiKey:SnapshotExportTaskOsuExportOsuApiKey":{"properties":{"apiKeyId":{"type":"string","description":"The API key of the OOS account that enables you to access the bucket.\n"},"secretKey":{"type":"string","description":"The secret key of the OOS account that enables you to access the bucket.\n"}},"type":"object","required":["apiKeyId","secretKey"]},"outscale:index/SnapshotExportTaskTag:SnapshotExportTaskTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/SnapshotExportTaskTimeouts:SnapshotExportTaskTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/SnapshotPermissionsToCreateVolume:SnapshotPermissionsToCreateVolume":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the snapshot.\n"},"globalPermission":{"type":"boolean","description":"A global permission for all accounts.\u003cbr /\u003e\n(Request) Set this parameter to true to make the resource public (if the parent parameter is `Additions`) or to make the resource private (if the parent parameter is `Removals`).\u003cbr /\u003e\n(Response) If true, the resource is public. If false, the resource is private.\n"}},"type":"object","required":["accountId","globalPermission"]},"outscale:index/SnapshotTag:SnapshotTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/SnapshotTimeouts:SnapshotTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/SubnetTag:SubnetTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/SubnetTimeouts:SubnetTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/TagTag:TagTag":{"properties":{"key":{"type":"string"},"resourceId":{"type":"string"},"resourceType":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","resourceId","resourceType","value"]},"outscale:index/TagTimeouts:TagTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"outscale:index/UserGroupPolicy:UserGroupPolicy":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the user group.\n"},"defaultVersionId":{"type":"string","description":"The ID of a policy version that you want to make the default one (the active one).\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the user group.\n"},"policyId":{"type":"string"},"policyName":{"type":"string"},"policyOrn":{"type":"string"}},"type":"object","required":["policyOrn"],"language":{"nodejs":{"requiredOutputs":["creationDate","defaultVersionId","lastModificationDate","policyId","policyName","policyOrn"]}}},"outscale:index/UserGroupTimeouts:UserGroupTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/UserGroupUser:UserGroupUser":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the user group.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the user group.\n"},"path":{"type":"string","description":"The path to the group. If not specified, it is set to a slash (`/`).\n"},"userId":{"type":"string"},"userName":{"type":"string"}},"type":"object","required":["userName"],"language":{"nodejs":{"requiredOutputs":["creationDate","lastModificationDate","path","userId","userName"]}}},"outscale:index/UserPolicy:UserPolicy":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the EIM user.\n"},"defaultVersionId":{"type":"string","description":"The ID of a policy version that you want to make the default one (the active one).\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the EIM user.\n"},"policyId":{"type":"string"},"policyName":{"type":"string"},"policyOrn":{"type":"string"}},"type":"object","required":["policyOrn"],"language":{"nodejs":{"requiredOutputs":["creationDate","defaultVersionId","lastModificationDate","policyId","policyName","policyOrn"]}}},"outscale:index/UserTimeouts:UserTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/VirtualGatewayLinkNetToVirtualGatewayLink:VirtualGatewayLinkNetToVirtualGatewayLink":{"properties":{"netId":{"type":"string","description":"The ID of the Net to which you want to attach the virtual gateway.\n"},"state":{"type":"string","description":"The state of the attachment (\u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attached`\" pulumi-lang-dotnet=\"`Attached`\" pulumi-lang-go=\"`attached`\" pulumi-lang-python=\"`attached`\" pulumi-lang-yaml=\"`attached`\" pulumi-lang-java=\"`attached`\"\u003e`attached`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`detached`\" pulumi-lang-dotnet=\"`Detached`\" pulumi-lang-go=\"`detached`\" pulumi-lang-python=\"`detached`\" pulumi-lang-yaml=\"`detached`\" pulumi-lang-java=\"`detached`\"\u003e`detached`\u003c/span\u003e).\n"}},"type":"object","required":["netId","state"]},"outscale:index/VirtualGatewayLinkTimeouts:VirtualGatewayLinkTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"}},"type":"object"},"outscale:index/VirtualGatewayNetToVirtualGatewayLink:VirtualGatewayNetToVirtualGatewayLink":{"properties":{"netId":{"type":"string","description":"The ID of the Net to which the virtual gateway is attached.\n"},"state":{"type":"string","description":"The state of the virtual gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["netId","state"]}}},"outscale:index/VirtualGatewayRoutePropagationTimeouts:VirtualGatewayRoutePropagationTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"}},"type":"object"},"outscale:index/VirtualGatewayTag:VirtualGatewayTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/VirtualGatewayTimeouts:VirtualGatewayTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/VmActionsOnNextBoot:VmActionsOnNextBoot":{"properties":{"secureBoot":{"type":"string","description":"One action to perform on the next boot of the VM. For more information, see [About Secure Boot](https://docs.outscale.com/en/userguide/About-Secure-Boot.html#_secure_boot_actions).\n"}},"type":"object","required":["secureBoot"]},"outscale:index/VmBlockDeviceMapping:VmBlockDeviceMapping":{"properties":{"bsu":{"$ref":"#/types/outscale:index%2FVmBlockDeviceMappingBsu:VmBlockDeviceMappingBsu","description":"Information about the BSU volume to create.\n"},"deviceName":{"type":"string","description":"The name of the device.\n"},"noDevice":{"type":"string"},"virtualDeviceName":{"type":"string"}},"type":"object"},"outscale:index/VmBlockDeviceMappingBsu:VmBlockDeviceMappingBsu":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"By default or if set to true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.\n"},"iops":{"type":"number","description":"The number of I/O operations per second (IOPS). This parameter must be specified only if you create an \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volume. The maximum number of IOPS allowed for \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volumes is \u003cspan pulumi-lang-nodejs=\"`13000`\" pulumi-lang-dotnet=\"`13000`\" pulumi-lang-go=\"`13000`\" pulumi-lang-python=\"`13000`\" pulumi-lang-yaml=\"`13000`\" pulumi-lang-java=\"`13000`\"\u003e`13000`\u003c/span\u003e with a maximum performance ratio of 300 IOPS per gibibyte.\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot used to create the volume.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmBlockDeviceMappingBsuTag:VmBlockDeviceMappingBsuTag"},"description":"One or more tags associated with the VM.\n"},"volumeSize":{"type":"number","description":"The size of the volume, in gibibytes (GiB).\n"},"volumeType":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["deleteOnVmDeletion"]}}},"outscale:index/VmBlockDeviceMappingBsuTag:VmBlockDeviceMappingBsuTag":{"properties":{"key":{"type":"string","description":"The key of the tag with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/VmBlockDeviceMappingsCreated:VmBlockDeviceMappingsCreated":{"properties":{"bsus":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmBlockDeviceMappingsCreatedBsus:VmBlockDeviceMappingsCreatedBsus"},"description":"Information about the created BSU volume.\n"},"deviceName":{"type":"string","description":"The name of the device.\n"}},"type":"object","required":["bsus","deviceName"]},"outscale:index/VmBlockDeviceMappingsCreatedBsus:VmBlockDeviceMappingsCreatedBsus":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"linkDate":{"type":"string","description":"The date and time (UTC) at which the volume was attached to the VM, in ISO 8601 date-time format.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e). If set to \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, the VM is stopped regardless of the value of the \u003cspan pulumi-lang-nodejs=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-dotnet=\"`VmInitiatedShutdownBehavior`\" pulumi-lang-go=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-python=\"`vm_initiated_shutdown_behavior`\" pulumi-lang-yaml=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-java=\"`vmInitiatedShutdownBehavior`\"\u003e`vm_initiated_shutdown_behavior`\u003c/span\u003e argument.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmBlockDeviceMappingsCreatedBsusTag:VmBlockDeviceMappingsCreatedBsusTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object","required":["deleteOnVmDeletion","linkDate","state","tags","volumeId"]},"outscale:index/VmBlockDeviceMappingsCreatedBsusTag:VmBlockDeviceMappingsCreatedBsusTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"]},"outscale:index/VmNic:VmNic":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated. You can specify this parameter only for a new NIC. To modify this value for an existing NIC, see [UpdateNic](https://docs.outscale.com/api#updatenic).\n"},"description":{"type":"string","description":"The description of the NIC, if you are creating a NIC when creating the VM.\n"},"deviceNumber":{"type":"number","description":"The index of the VM device for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included). This parameter is required if you create a NIC when creating the VM.\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"linkNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmNicLinkNic:VmNicLinkNic"},"description":"Information about the network interface card (NIC).\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmNicLinkPublicIp:VmNicLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC, if you are attaching an existing NIC when creating a VM.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmNicPrivateIp:VmNicPrivateIp"},"description":"One or more private IPs to assign to the NIC, if you create a NIC when creating a VM. Only one private IP can be the primary private IP.\n"},"secondaryPrivateIpCount":{"type":"number","description":"The number of secondary private IPs, if you create a NIC when creating a VM. This parameter cannot be specified if you specified more than one private IP in the \u003cspan pulumi-lang-nodejs=\"`privateIps`\" pulumi-lang-dotnet=\"`PrivateIps`\" pulumi-lang-go=\"`privateIps`\" pulumi-lang-python=\"`private_ips`\" pulumi-lang-yaml=\"`privateIps`\" pulumi-lang-java=\"`privateIps`\"\u003e`private_ips`\u003c/span\u003e parameter.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the NIC, if you create a NIC when creating a VM.\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmNicSecurityGroup:VmNicSecurityGroup"},"description":"One or more security groups associated with the VM.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e). If set to \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, the VM is stopped regardless of the value of the \u003cspan pulumi-lang-nodejs=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-dotnet=\"`VmInitiatedShutdownBehavior`\" pulumi-lang-go=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-python=\"`vm_initiated_shutdown_behavior`\" pulumi-lang-yaml=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-java=\"`vmInitiatedShutdownBehavior`\"\u003e`vm_initiated_shutdown_behavior`\u003c/span\u003e argument.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet for the NIC, if you create a NIC when creating a VM. This parameter is required if you create a NIC when creating the VM.\n"}},"type":"object","required":["deviceNumber"],"language":{"nodejs":{"requiredOutputs":["accountId","deleteOnVmDeletion","description","deviceNumber","isSourceDestChecked","linkNics","linkPublicIps","macAddress","netId","nicId","privateDnsName","secondaryPrivateIpCount","securityGroups","state","subnetId"]}}},"outscale:index/VmNicLinkNic:VmNicLinkNic":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"deviceNumber":{"type":"string","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e). If set to \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, the VM is stopped regardless of the value of the \u003cspan pulumi-lang-nodejs=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-dotnet=\"`VmInitiatedShutdownBehavior`\" pulumi-lang-go=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-python=\"`vm_initiated_shutdown_behavior`\" pulumi-lang-yaml=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-java=\"`vmInitiatedShutdownBehavior`\"\u003e`vm_initiated_shutdown_behavior`\u003c/span\u003e argument.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","state"]},"outscale:index/VmNicLinkPublicIp:VmNicLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"]},"outscale:index/VmNicPrivateIp:VmNicPrivateIp":{"properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmNicPrivateIpLinkPublicIp:VmNicPrivateIpLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The private IP of the NIC.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["isPrimary","linkPublicIps","privateDnsName","privateIp"]}}},"outscale:index/VmNicPrivateIpLinkPublicIp:VmNicPrivateIpLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"]},"outscale:index/VmNicSecurityGroup:VmNicSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"]},"outscale:index/VmPrimaryNic:VmPrimaryNic":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated. You can specify this parameter only for a new NIC. To modify this value for an existing NIC, see [UpdateNic](https://docs.outscale.com/api#updatenic).\n"},"description":{"type":"string","description":"The description of the NIC, if you are creating a NIC when creating the VM.\n"},"deviceNumber":{"type":"number","description":"The index of the VM device for the NIC attachment (must be \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e). This parameter is required if you create a NIC when creating the VM.\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"linkNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmPrimaryNicLinkNic:VmPrimaryNicLinkNic"},"description":"Information about the network interface card (NIC).\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmPrimaryNicLinkPublicIp:VmPrimaryNicLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC, if you are attaching an existing NIC when creating a VM.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmPrimaryNicPrivateIp:VmPrimaryNicPrivateIp"},"description":"One or more private IPs to assign to the NIC, if you create a NIC when creating a VM. Only one private IP can be the primary private IP.\n"},"secondaryPrivateIpCount":{"type":"number","description":"The number of secondary private IPs, if you create a NIC when creating a VM. This parameter cannot be specified if you specified more than one private IP in the \u003cspan pulumi-lang-nodejs=\"`privateIps`\" pulumi-lang-dotnet=\"`PrivateIps`\" pulumi-lang-go=\"`privateIps`\" pulumi-lang-python=\"`private_ips`\" pulumi-lang-yaml=\"`privateIps`\" pulumi-lang-java=\"`privateIps`\"\u003e`private_ips`\u003c/span\u003e parameter.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the NIC, if you create a NIC when creating a VM.\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmPrimaryNicSecurityGroup:VmPrimaryNicSecurityGroup"},"description":"One or more security groups associated with the VM.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e). If set to \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, the VM is stopped regardless of the value of the \u003cspan pulumi-lang-nodejs=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-dotnet=\"`VmInitiatedShutdownBehavior`\" pulumi-lang-go=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-python=\"`vm_initiated_shutdown_behavior`\" pulumi-lang-yaml=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-java=\"`vmInitiatedShutdownBehavior`\"\u003e`vm_initiated_shutdown_behavior`\u003c/span\u003e argument.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet for the NIC, if you create a NIC when creating a VM. This parameter is required if you create a NIC when creating the VM.\n"}},"type":"object","required":["deviceNumber"],"language":{"nodejs":{"requiredOutputs":["accountId","deleteOnVmDeletion","description","deviceNumber","isSourceDestChecked","linkNics","linkPublicIps","macAddress","netId","nicId","privateDnsName","secondaryPrivateIpCount","securityGroups","state","subnetId"]}}},"outscale:index/VmPrimaryNicLinkNic:VmPrimaryNicLinkNic":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"deviceNumber":{"type":"string","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e). If set to \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, the VM is stopped regardless of the value of the \u003cspan pulumi-lang-nodejs=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-dotnet=\"`VmInitiatedShutdownBehavior`\" pulumi-lang-go=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-python=\"`vm_initiated_shutdown_behavior`\" pulumi-lang-yaml=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-java=\"`vmInitiatedShutdownBehavior`\"\u003e`vm_initiated_shutdown_behavior`\u003c/span\u003e argument.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","state"]},"outscale:index/VmPrimaryNicLinkPublicIp:VmPrimaryNicLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"]},"outscale:index/VmPrimaryNicPrivateIp:VmPrimaryNicPrivateIp":{"properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmPrimaryNicPrivateIpLinkPublicIp:VmPrimaryNicPrivateIpLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The private IP of the NIC.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["isPrimary","linkPublicIps","privateDnsName","privateIp"]}}},"outscale:index/VmPrimaryNicPrivateIpLinkPublicIp:VmPrimaryNicPrivateIpLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"]},"outscale:index/VmPrimaryNicSecurityGroup:VmPrimaryNicSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"]},"outscale:index/VmSecurityGroup:VmSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"]},"outscale:index/VmTag:VmTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/VmTimeouts:VmTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/VolumeLinkTimeouts:VolumeLinkTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/VolumeLinkedVolume:VolumeLinkedVolume":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.\n"},"deviceName":{"type":"string","description":"The name of the device.\n"},"state":{"type":"string","description":"The state of the volume (\u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e).\n"},"vmId":{"type":"string","description":"The ID of the VM.\n"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceName","state","vmId","volumeId"]},"outscale:index/VolumeTag:VolumeTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/VolumeTimeouts:VolumeTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"outscale:index/VpnConnectionRoute:VpnConnectionRoute":{"properties":{"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"},"routeType":{"type":"string","description":"The type of route (always \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e).\n"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n"}},"type":"object","required":["destinationIpRange","routeType","state"]},"outscale:index/VpnConnectionRouteTimeouts:VpnConnectionRouteTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"}},"type":"object"},"outscale:index/VpnConnectionTag:VpnConnectionTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["key","value"]}}},"outscale:index/VpnConnectionTimeouts:VpnConnectionTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"outscale:index/VpnConnectionVgwTelemetry:VpnConnectionVgwTelemetry":{"properties":{"acceptedRouteCount":{"type":"number","description":"The number of routes accepted through BGP (Border Gateway Protocol) route exchanges.\n"},"lastStateChangeDate":{"type":"string","description":"The date and time (UTC) of the latest state update.\n"},"outsideIpAddress":{"type":"string","description":"The IP on the OUTSCALE side of the tunnel.\n"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n"},"stateDescription":{"type":"string","description":"A description of the current state of the tunnel.\n"}},"type":"object","required":["acceptedRouteCount","lastStateChangeDate","outsideIpAddress","state","stateDescription"]},"outscale:index/getAccessKeyFilter:getAccessKeyFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getAccessKeysAccessKey:getAccessKeysAccessKey":{"properties":{"accessKeyId":{"type":"string","description":"The ID of the access key.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the access key was created.\n"},"expirationDate":{"type":"string","description":"The date and time (UTC) at which the access key expires.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) at which the access key was last modified.\n"},"state":{"type":"string","description":"The state of the access key (`ACTIVE` if the key is valid for API calls, or `INACTIVE` if not).\n"}},"type":"object","required":["accessKeyId","creationDate","expirationDate","lastModificationDate","state"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getAccessKeysFilter:getAccessKeysFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getAccountsAccount:getAccountsAccount":{"properties":{"accountId":{"type":"string","description":"The ID of the account.\n"},"additionalEmails":{"type":"array","items":{"type":"string"},"description":"One or more additional email addresses for the account. These addresses are used for notifications only.\n"},"city":{"type":"string","description":"The city of the account owner.\n"},"companyName":{"type":"string","description":"The name of the company for the account.\n"},"country":{"type":"string","description":"The country of the account owner.\n"},"customerId":{"type":"string","description":"The ID of the customer.\n"},"email":{"type":"string","description":"The main email address for the account. This address is used for your credentials and for notifications.\n"},"firstName":{"type":"string","description":"The first name of the account owner.\n"},"jobTitle":{"type":"string","description":"The job title of the account owner.\n"},"lastName":{"type":"string","description":"The last name of the account owner.\n"},"mobileNumber":{"type":"string","description":"The mobile phone number of the account owner.\n"},"phoneNumber":{"type":"string","description":"The landline phone number of the account owner.\n"},"stateProvince":{"type":"string","description":"The state/province of the account.\n"},"vatNumber":{"type":"string","description":"The value added tax (VAT) number for the account.\n"},"zipCode":{"type":"string","description":"The ZIP code of the city.\n"}},"type":"object","required":["accountId","additionalEmails","city","companyName","country","customerId","email","firstName","jobTitle","lastName","mobileNumber","phoneNumber","stateProvince","vatNumber","zipCode"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getApiAccessRuleFilter:getApiAccessRuleFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getApiAccessRulesApiAccessRule:getApiAccessRulesApiAccessRule":{"properties":{"apiAccessRuleId":{"type":"string","description":"The ID of the API access rule.\n"},"caIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of Client Certificate Authorities (CAs) used for the API access rule.\n"},"cns":{"type":"array","items":{"type":"string"},"description":"One or more Client Certificate Common Names (CNs).\n"},"description":{"type":"string","description":"The description of the API access rule.\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IP ranges used for the API access rule, in CIDR notation (for example, `192.0.2.0/16`).\n"}},"type":"object","required":["apiAccessRuleId","caIds","cns","description","ipRanges"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getApiAccessRulesFilter:getApiAccessRulesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getCaFilter:getCaFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getCasCa:getCasCa":{"properties":{"caFingerprint":{"type":"string","description":"The fingerprint of the CA.\n"},"caId":{"type":"string","description":"The ID of the CA.\n"},"description":{"type":"string","description":"The description of the CA.\n"}},"type":"object","required":["caFingerprint","caId","description"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getCasFilter:getCasFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getClientGatewayFilter:getClientGatewayFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getClientGatewayTag:getClientGatewayTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getClientGatewaysClientGateway:getClientGatewaysClientGateway":{"properties":{"bgpAsn":{"type":"number","description":"The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet.\n"},"clientGatewayId":{"type":"string","description":"The ID of the client gateway.\n"},"connectionType":{"type":"string","description":"The type of communication tunnel used by the client gateway (always `ipsec.1`).\n"},"publicIp":{"type":"string","description":"The public IPv4 address of the client gateway (must be a fixed address into a NATed network).\n"},"state":{"type":"string","description":"The state of the client gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetClientGatewaysClientGatewayTag:getClientGatewaysClientGatewayTag"},"description":"One or more tags associated with the client gateway.\n"}},"type":"object","required":["bgpAsn","clientGatewayId","connectionType","publicIp","state","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getClientGatewaysClientGatewayTag:getClientGatewaysClientGatewayTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getClientGatewaysFilter:getClientGatewaysFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getDhcpOptionFilter:getDhcpOptionFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getDhcpOptionTag:getDhcpOptionTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getDhcpOptionsDhcpOption:getDhcpOptionsDhcpOption":{"properties":{"default":{"type":"boolean","description":"If true, the DHCP options set is a default one. If false, it is not.\n"},"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set.\n"},"domainName":{"type":"string","description":"The domain name.\n"},"domainNameServers":{"type":"array","items":{"type":"string"},"description":"One or more IPs for the domain name servers.\n"},"logServers":{"type":"array","items":{"type":"string"},"description":"One or more IPs for the log servers.\n"},"ntpServers":{"type":"array","items":{"type":"string"},"description":"One or more IPs for the NTP servers.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetDhcpOptionsDhcpOptionTag:getDhcpOptionsDhcpOptionTag"},"description":"One or more tags associated with the DHCP options set.\n"}},"type":"object","required":["default","dhcpOptionsSetId","domainName","domainNameServers","logServers","ntpServers","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getDhcpOptionsDhcpOptionTag:getDhcpOptionsDhcpOptionTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getDhcpOptionsFilter:getDhcpOptionsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getEntitiesLinkedToPolicyPolicyEntity:getEntitiesLinkedToPolicyPolicyEntity":{"properties":{"accounts":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetEntitiesLinkedToPolicyPolicyEntityAccount:getEntitiesLinkedToPolicyPolicyEntityAccount"},"description":"The accounts linked to the specified policy.\n"},"groups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetEntitiesLinkedToPolicyPolicyEntityGroup:getEntitiesLinkedToPolicyPolicyEntityGroup"},"description":"The groups linked to the specified policy.\n"},"users":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetEntitiesLinkedToPolicyPolicyEntityUser:getEntitiesLinkedToPolicyPolicyEntityUser"},"description":"The users linked to the specified policy.\n"}},"type":"object","required":["accounts","groups","users"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getEntitiesLinkedToPolicyPolicyEntityAccount:getEntitiesLinkedToPolicyPolicyEntityAccount":{"properties":{"id":{"type":"string","description":"The ID of the entity.\n"},"name":{"type":"string","description":"The name of the entity.\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the entity. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"}},"type":"object","required":["id","name","orn"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getEntitiesLinkedToPolicyPolicyEntityGroup:getEntitiesLinkedToPolicyPolicyEntityGroup":{"properties":{"id":{"type":"string","description":"The ID of the entity.\n"},"name":{"type":"string","description":"The name of the entity.\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the entity. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"}},"type":"object","required":["id","name","orn"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getEntitiesLinkedToPolicyPolicyEntityUser:getEntitiesLinkedToPolicyPolicyEntityUser":{"properties":{"id":{"type":"string","description":"The ID of the entity.\n"},"name":{"type":"string","description":"The name of the entity.\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the entity. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"}},"type":"object","required":["id","name","orn"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getFlexibleGpuCatalogFilter:getFlexibleGpuCatalogFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getFlexibleGpuCatalogFlexibleGpuCatalog:getFlexibleGpuCatalogFlexibleGpuCatalog":{"properties":{"generations":{"type":"array","items":{"type":"string"},"description":"The processor generations that the fGPUs are compatible with.\n"},"maxCpu":{"type":"number","description":"The maximum number of VM vCores that the fGPU is compatible with.\n"},"maxRam":{"type":"number","description":"The maximum amount of VM memory that the fGPU is compatible with.\n"},"modelName":{"type":"string","description":"The model of fGPU.\n"},"vRam":{"type":"number","description":"The amount of video RAM (VRAM) of the fGPU.\n"}},"type":"object","required":["generations","maxCpu","maxRam","modelName","vRam"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getFlexibleGpuFilter:getFlexibleGpuFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getFlexibleGpusFilter:getFlexibleGpusFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getFlexibleGpusFlexibleGpus:getFlexibleGpusFlexibleGpus":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the fGPU is deleted when the VM is terminated.\n"},"flexibleGpuId":{"type":"string","description":"The ID of the fGPU.\n"},"generation":{"type":"string","description":"The compatible processor generation.\n"},"modelName":{"type":"string","description":"The model of fGPU. For more information, see [About Flexible GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).\n"},"state":{"type":"string","description":"The state of the fGPU (\u003cspan pulumi-lang-nodejs=\"`allocated`\" pulumi-lang-dotnet=\"`Allocated`\" pulumi-lang-go=\"`allocated`\" pulumi-lang-python=\"`allocated`\" pulumi-lang-yaml=\"`allocated`\" pulumi-lang-java=\"`allocated`\"\u003e`allocated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attached`\" pulumi-lang-dotnet=\"`Attached`\" pulumi-lang-go=\"`attached`\" pulumi-lang-python=\"`attached`\" pulumi-lang-yaml=\"`attached`\" pulumi-lang-java=\"`attached`\"\u003e`attached`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n"},"subregionName":{"type":"string","description":"The Subregion where the fGPU is located.\n"},"vmId":{"type":"string","description":"The ID of the VM the fGPU is attached to, if any.\n"}},"type":"object","required":["deleteOnVmDeletion","flexibleGpuId","generation","modelName","state","subregionName","vmId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageBlockDeviceMapping:getImageBlockDeviceMapping":{"properties":{"bsus":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImageBlockDeviceMappingBsus:getImageBlockDeviceMappingBsus"},"description":"Information about the BSU volume to create.\n"},"deviceName":{"type":"string","description":"The device name for the volume. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`b`\" pulumi-lang-dotnet=\"`B`\" pulumi-lang-go=\"`b`\" pulumi-lang-python=\"`b`\" pulumi-lang-yaml=\"`b`\" pulumi-lang-java=\"`b`\"\u003e`b`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e, and the second `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`a`\" pulumi-lang-dotnet=\"`A`\" pulumi-lang-go=\"`a`\" pulumi-lang-python=\"`a`\" pulumi-lang-yaml=\"`a`\" pulumi-lang-java=\"`a`\"\u003e`a`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e).\n"},"virtualDeviceName":{"type":"string","description":"The name of the virtual device (`ephemeralN`).\n"}},"type":"object","required":["deviceName","virtualDeviceName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageBlockDeviceMappingBsus:getImageBlockDeviceMappingBsus":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"By default or if set to true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.\n"},"iops":{"type":"number","description":"The number of I/O operations per second (IOPS). This parameter must be specified only if you create an \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volume. The maximum number of IOPS allowed for \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volumes is \u003cspan pulumi-lang-nodejs=\"`13000`\" pulumi-lang-dotnet=\"`13000`\" pulumi-lang-go=\"`13000`\" pulumi-lang-python=\"`13000`\" pulumi-lang-yaml=\"`13000`\" pulumi-lang-java=\"`13000`\"\u003e`13000`\u003c/span\u003e with a maximum performance ratio of 300 IOPS per gibibyte.\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot used to create the volume.\n"},"volumeSize":{"type":"number","description":"The size of the volume, in gibibytes (GiB).\u003cbr /\u003e\nIf you specify a snapshot ID, the volume size must be at least equal to the snapshot size.\u003cbr /\u003e\nIf you specify a snapshot ID but no volume size, the volume is created with a size similar to the snapshot one.\n"},"volumeType":{"type":"string","description":"The type of the volume (\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e). If not specified in the request, a \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e volume is created.\u003cbr /\u003e\nFor more information about volume types, see [About Volumes \u003e Volume Types and IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_types_and_iops).\n"}},"type":"object","required":["deleteOnVmDeletion","iops","snapshotId","volumeSize","volumeType"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageExportTaskFilter:getImageExportTaskFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getImageExportTaskOsuExport:getImageExportTaskOsuExport":{"properties":{"diskImageFormat":{"type":"string","description":"The format of the export disk (\u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e).\n"},"osuBucket":{"type":"string","description":"The name of the OOS bucket the OMI is exported to.\n"},"osuManifestUrl":{"type":"string","description":"The URL of the manifest file.\n"},"osuPrefix":{"type":"string","description":"The prefix for the key of the OOS object corresponding to the image.\n"}},"type":"object","required":["diskImageFormat","osuBucket","osuManifestUrl","osuPrefix"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageExportTaskTag:getImageExportTaskTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageExportTaskTimeouts:getImageExportTaskTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"outscale:index/getImageExportTasksFilter:getImageExportTasksFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getImageExportTasksImageExportTask:getImageExportTasksImageExportTask":{"properties":{"comment":{"type":"string","description":"If the OMI export task fails, an error message appears.\n"},"imageId":{"type":"string","description":"The ID of the OMI to be exported.\n"},"osuExports":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImageExportTasksImageExportTaskOsuExport:getImageExportTasksImageExportTaskOsuExport"},"description":"Information about the OMI export task.\n"},"progress":{"type":"number","description":"The progress of the OMI export task, as a percentage.\n"},"state":{"type":"string","description":"The state of the OMI export task (`pending/queued` \\| \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImageExportTasksImageExportTaskTag:getImageExportTasksImageExportTaskTag"},"description":"One or more tags associated with the image export task.\n"},"taskId":{"type":"string","description":"The ID of the OMI export task.\n"}},"type":"object","required":["comment","imageId","osuExports","progress","state","tags","taskId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageExportTasksImageExportTaskOsuExport:getImageExportTasksImageExportTaskOsuExport":{"properties":{"diskImageFormat":{"type":"string","description":"The format of the export disk (\u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e).\n"},"osuBucket":{"type":"string","description":"The name of the OOS bucket the OMI is exported to.\n"},"osuManifestUrl":{"type":"string","description":"The URL of the manifest file.\n"},"osuPrefix":{"type":"string","description":"The prefix for the key of the OOS object corresponding to the image.\n"}},"type":"object","required":["diskImageFormat","osuBucket","osuManifestUrl","osuPrefix"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageExportTasksImageExportTaskTag:getImageExportTasksImageExportTaskTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageExportTasksTimeouts:getImageExportTasksTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"outscale:index/getImageFilter:getImageFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getImagePermissionsToLaunch:getImagePermissionsToLaunch":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the OMI.\n"},"globalPermission":{"type":"boolean","description":"A global permission for all accounts.\u003cbr /\u003e\n(Request) Set this parameter to true to make the resource public (if the parent parameter is `Additions`) or to make the resource private (if the parent parameter is `Removals`).\u003cbr /\u003e\n(Response) If true, the resource is public. If false, the resource is private.\n"}},"type":"object","required":["accountId","globalPermission"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageStateComment:getImageStateComment":{"properties":{"stateCode":{"type":"string","description":"The code of the change of state.\n"},"stateMessage":{"type":"string","description":"A message explaining the change of state.\n"}},"type":"object","required":["stateCode","stateMessage"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImageTag:getImageTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImagesFilter:getImagesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getImagesImage:getImagesImage":{"properties":{"accountAlias":{"type":"string","description":"The account alias of the owner of the OMI.\n"},"accountId":{"type":"string","description":"The account ID of the owner of the OMI.\n"},"architecture":{"type":"string","description":"The architecture of the OMI.\n"},"blockDeviceMappings":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImagesImageBlockDeviceMapping:getImagesImageBlockDeviceMapping"},"description":"One or more block device mappings.\n"},"bootModes":{"type":"array","items":{"type":"string"},"description":"The boot modes compatible with the OMI. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the OMI was created.\n"},"description":{"type":"string","description":"The description of the OMI.\n"},"fileLocation":{"type":"string","description":"The location from which the OMI files were created.\n"},"imageId":{"type":"string","description":"The ID of the OMI.\n"},"imageName":{"type":"string","description":"The name of the OMI.\n"},"imageType":{"type":"string","description":"The type of the OMI.\n"},"permissionsToLaunches":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImagesImagePermissionsToLaunch:getImagesImagePermissionsToLaunch"},"description":"Permissions for the resource.\n"},"productCodes":{"type":"array","items":{"type":"string"},"description":"The product codes associated with the OMI.\n"},"rootDeviceName":{"type":"string","description":"The name of the root device.\n"},"rootDeviceType":{"type":"string","description":"The type of root device used by the OMI (always \u003cspan pulumi-lang-nodejs=\"`bsu`\" pulumi-lang-dotnet=\"`Bsu`\" pulumi-lang-go=\"`bsu`\" pulumi-lang-python=\"`bsu`\" pulumi-lang-yaml=\"`bsu`\" pulumi-lang-java=\"`bsu`\"\u003e`bsu`\u003c/span\u003e).\n"},"secureBoot":{"type":"boolean","description":"Whether secure boot is activated or not.\n"},"state":{"type":"string","description":"The state of the OMI (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e).\n"},"stateComments":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImagesImageStateComment:getImagesImageStateComment"},"description":"Information about the change of state.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImagesImageTag:getImagesImageTag"},"description":"One or more tags associated with the OMI.\n"},"tpmMandatory":{"type":"boolean","description":"If true, a virtual Trusted Platform Module (vTPM) is mandatory for VMs created from this OMI. If false, a vTPM is not mandatory.\n"}},"type":"object","required":["accountAlias","accountId","architecture","blockDeviceMappings","bootModes","creationDate","description","fileLocation","imageId","imageName","imageType","permissionsToLaunches","productCodes","rootDeviceName","rootDeviceType","secureBoot","state","stateComments","tags","tpmMandatory"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImagesImageBlockDeviceMapping:getImagesImageBlockDeviceMapping":{"properties":{"bsus":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImagesImageBlockDeviceMappingBsus:getImagesImageBlockDeviceMappingBsus"},"description":"Information about the BSU volume to create.\n"},"deviceName":{"type":"string","description":"The device name for the volume. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`b`\" pulumi-lang-dotnet=\"`B`\" pulumi-lang-go=\"`b`\" pulumi-lang-python=\"`b`\" pulumi-lang-yaml=\"`b`\" pulumi-lang-java=\"`b`\"\u003e`b`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e, and the second `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`a`\" pulumi-lang-dotnet=\"`A`\" pulumi-lang-go=\"`a`\" pulumi-lang-python=\"`a`\" pulumi-lang-yaml=\"`a`\" pulumi-lang-java=\"`a`\"\u003e`a`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e).\n"},"virtualDeviceName":{"type":"string","description":"The name of the virtual device (`ephemeralN`).\n"}},"type":"object","required":["bsus","deviceName","virtualDeviceName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImagesImageBlockDeviceMappingBsus:getImagesImageBlockDeviceMappingBsus":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"By default or if set to true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.\n"},"iops":{"type":"number","description":"The number of I/O operations per second (IOPS). This parameter must be specified only if you create an \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volume. The maximum number of IOPS allowed for \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volumes is \u003cspan pulumi-lang-nodejs=\"`13000`\" pulumi-lang-dotnet=\"`13000`\" pulumi-lang-go=\"`13000`\" pulumi-lang-python=\"`13000`\" pulumi-lang-yaml=\"`13000`\" pulumi-lang-java=\"`13000`\"\u003e`13000`\u003c/span\u003e with a maximum performance ratio of 300 IOPS per gibibyte.\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot used to create the volume.\n"},"volumeSize":{"type":"number","description":"The size of the volume, in gibibytes (GiB).\u003cbr /\u003e\nIf you specify a snapshot ID, the volume size must be at least equal to the snapshot size.\u003cbr /\u003e\nIf you specify a snapshot ID but no volume size, the volume is created with a size similar to the snapshot one.\n"},"volumeType":{"type":"string","description":"The type of the volume (\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e). If not specified in the request, a \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e volume is created.\u003cbr /\u003e\nFor more information about volume types, see [About Volumes \u003e Volume Types and IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_types_and_iops).\n"}},"type":"object","required":["deleteOnVmDeletion","iops","snapshotId","volumeSize","volumeType"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImagesImagePermissionsToLaunch:getImagesImagePermissionsToLaunch":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the OMI.\n"},"globalPermission":{"type":"boolean","description":"A global permission for all accounts.\u003cbr /\u003e\n(Request) Set this parameter to true to make the resource public (if the parent parameter is `Additions`) or to make the resource private (if the parent parameter is `Removals`).\u003cbr /\u003e\n(Response) If true, the resource is public. If false, the resource is private.\n"}},"type":"object","required":["accountId","globalPermission"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImagesImageStateComment:getImagesImageStateComment":{"properties":{"stateCode":{"type":"string","description":"The code of the change of state.\n"},"stateMessage":{"type":"string","description":"A message explaining the change of state.\n"}},"type":"object","required":["stateCode","stateMessage"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getImagesImageTag:getImagesImageTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getInternetServiceFilter:getInternetServiceFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getInternetServiceTag:getInternetServiceTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getInternetServicesFilter:getInternetServicesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getInternetServicesInternetService:getInternetServicesInternetService":{"properties":{"internetServiceId":{"type":"string","description":"The ID of the internet service.\n"},"netId":{"type":"string","description":"The ID of the Net attached to the internet service.\n"},"state":{"type":"string","description":"The state of the attachment of the internet service to the Net (always \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetInternetServicesInternetServiceTag:getInternetServicesInternetServiceTag"},"description":"One or more tags associated with the internet service.\n"}},"type":"object","required":["internetServiceId","netId","state","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getInternetServicesInternetServiceTag:getInternetServicesInternetServiceTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getKeypairFilter:getKeypairFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getKeypairTag:getKeypairTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getKeypairsFilter:getKeypairsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getKeypairsKeypair:getKeypairsKeypair":{"properties":{"keypairFingerprint":{"type":"string","description":"The MD5 public key fingerprint as specified in section 4 of RFC 4716.\n"},"keypairId":{"type":"string","description":"The ID of the keypair.\n"},"keypairName":{"type":"string","description":"The name of the keypair.\n"},"keypairType":{"type":"string","description":"The type of the keypair (`ssh-rsa`, `ssh-ed25519`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetKeypairsKeypairTag:getKeypairsKeypairTag"},"description":"One or more tags associated with the keypair.\n"}},"type":"object","required":["keypairFingerprint","keypairId","keypairName","keypairType","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getKeypairsKeypairTag:getKeypairsKeypairTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerAccessLog:getLoadBalancerAccessLog":{"properties":{"isEnabled":{"type":"boolean","description":"If true, access logs are enabled for your load balancer. If false, they are not. If you set this to true in your request, the \u003cspan pulumi-lang-nodejs=\"`osuBucketName`\" pulumi-lang-dotnet=\"`OsuBucketName`\" pulumi-lang-go=\"`osuBucketName`\" pulumi-lang-python=\"`osu_bucket_name`\" pulumi-lang-yaml=\"`osuBucketName`\" pulumi-lang-java=\"`osuBucketName`\"\u003e`osu_bucket_name`\u003c/span\u003e parameter is required.\n"},"osuBucketName":{"type":"string","description":"The name of the OOS bucket for the access logs.\n"},"osuBucketPrefix":{"type":"string","description":"The path to the folder of the access logs in your OOS bucket (by default, the \u003cspan pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\"\u003e`root`\u003c/span\u003e level of your bucket).\n"},"publicationInterval":{"type":"number","description":"The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e (by default, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e).\n"}},"type":"object","required":["isEnabled","osuBucketName","osuBucketPrefix","publicationInterval"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerApplicationStickyCookiePolicy:getLoadBalancerApplicationStickyCookiePolicy":{"properties":{"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness.\n"},"policyName":{"type":"string","description":"The name of the stickiness policy.\n"}},"type":"object","required":["cookieName","policyName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerFilter:getLoadBalancerFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getLoadBalancerHealthCheck:getLoadBalancerHealthCheck":{"properties":{"checkInterval":{"type":"number","description":"The number of seconds between two requests (between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e both included).\n"},"healthyThreshold":{"type":"number","description":"The number of consecutive successful requests before considering the VM as healthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"},"path":{"type":"string","description":"If you use the HTTP or HTTPS protocols, the request URL path. Always starts with a slash (`/`).\n"},"port":{"type":"number","description":"The port number (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"protocol":{"type":"string","description":"The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"timeout":{"type":"number","description":"The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e both included).\n"},"unhealthyThreshold":{"type":"number","description":"The number of consecutive failed requests before considering the VM as unhealthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"}},"type":"object","required":["checkInterval","healthyThreshold","path","port","protocol","timeout","unhealthyThreshold"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerListener:getLoadBalancerListener":{"properties":{"backendPort":{"type":"number","description":"The port on which the backend VM is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"backendProtocol":{"type":"string","description":"The protocol for routing traffic to backend VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"loadBalancerPort":{"type":"number","description":"The port on which the load balancer is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"loadBalancerProtocol":{"type":"string","description":"The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"policyNames":{"type":"array","items":{"type":"string"},"description":"The names of the policies. If there are no policies enabled, the list is empty.\n"},"serverCertificateId":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns).\n"}},"type":"object","required":["backendPort","backendProtocol","loadBalancerPort","loadBalancerProtocol","policyNames","serverCertificateId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerListenerRuleFilter:getLoadBalancerListenerRuleFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getLoadBalancerListenerRulesFilter:getLoadBalancerListenerRulesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getLoadBalancerListenerRulesListenerRule:getLoadBalancerListenerRulesListenerRule":{"properties":{"action":{"type":"string","description":"The type of action for the rule (always \u003cspan pulumi-lang-nodejs=\"`forward`\" pulumi-lang-dotnet=\"`Forward`\" pulumi-lang-go=\"`forward`\" pulumi-lang-python=\"`forward`\" pulumi-lang-yaml=\"`forward`\" pulumi-lang-java=\"`forward`\"\u003e`forward`\u003c/span\u003e).\n"},"hostNamePattern":{"type":"string","description":"A host-name pattern for the rule, with a maximum length of 128 characters. This host-name pattern supports maximum three wildcards, and must not contain any special characters except `-.?`.\n"},"listenerId":{"type":"number","description":"The ID of the listener.\n"},"listenerRuleId":{"type":"number","description":"The ID of the listener rule.\n"},"listenerRuleName":{"type":"string","description":"A human-readable name for the listener rule.\n"},"pathPattern":{"type":"string","description":"A path pattern for the rule, with a maximum length of 128 characters. This path pattern supports maximum three wildcards, and must not contain any special characters except `_-.$/~\u0026quot;'@:+?`.\n"},"priority":{"type":"number","description":"The priority level of the listener rule, between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`19999`\" pulumi-lang-dotnet=\"`19999`\" pulumi-lang-go=\"`19999`\" pulumi-lang-python=\"`19999`\" pulumi-lang-yaml=\"`19999`\" pulumi-lang-java=\"`19999`\"\u003e`19999`\u003c/span\u003e both included. Each rule must have a unique priority level. Otherwise, an error is returned.\n"},"vmIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the backend VMs.\n"}},"type":"object","required":["action","hostNamePattern","listenerId","listenerRuleId","listenerRuleName","pathPattern","priority","vmIds"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerLoadBalancerStickyCookiePolicy:getLoadBalancerLoadBalancerStickyCookiePolicy":{"properties":{"policyName":{"type":"string","description":"The name of the stickiness policy.\n"}},"type":"object","required":["policyName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerSourceSecurityGroup:getLoadBalancerSourceSecurityGroup":{"properties":{"securityGroupAccountId":{"type":"string","description":"The account ID of the owner of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupAccountId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerTag:getLoadBalancerTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerTagsFilter:getLoadBalancerTagsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getLoadBalancerTagsTag:getLoadBalancerTagsTag":{"properties":{"key":{"type":"string"},"loadBalancerName":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","loadBalancerName","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerVmHealthBackendVmHealth:getLoadBalancerVmHealthBackendVmHealth":{"properties":{"description":{"type":"string","description":"The description of the state of the backend VM.\n"},"state":{"type":"string","description":"The state of the backend VM (`InService` \\| `OutOfService` \\| `Unknown`).\n"},"stateReason":{"type":"string","description":"Information about the cause of `OutOfService` VMs.\u003cbr /\u003e\nSpecifically, whether the cause is Elastic Load Balancing or the VM (`ELB` \\| `Instance` \\| `N/A`).\n"},"vmId":{"type":"string","description":"The ID of the backend VM.\n"}},"type":"object","required":["description","state","stateReason","vmId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancerVmHealthFilter:getLoadBalancerVmHealthFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getLoadBalancersFilter:getLoadBalancersFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getLoadBalancersLoadBalancer:getLoadBalancersLoadBalancer":{"properties":{"accessLogs":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersLoadBalancerAccessLog:getLoadBalancersLoadBalancerAccessLog"},"description":"Information about access logs.\n"},"applicationStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersLoadBalancerApplicationStickyCookiePolicy:getLoadBalancersLoadBalancerApplicationStickyCookiePolicy"},"description":"The stickiness policies defined for the load balancer.\n"},"backendIps":{"type":"array","items":{"type":"string"}},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs for the load balancer.\n"},"dnsName":{"type":"string","description":"The DNS name of the load balancer.\n"},"healthChecks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersLoadBalancerHealthCheck:getLoadBalancersLoadBalancerHealthCheck"},"description":"Information about the health check configuration.\n"},"listeners":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersLoadBalancerListener:getLoadBalancersLoadBalancerListener"},"description":"The listeners for the load balancer.\n"},"loadBalancerName":{"type":"string","description":"The name of the load balancer.\n"},"loadBalancerStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersLoadBalancerLoadBalancerStickyCookiePolicy:getLoadBalancersLoadBalancerLoadBalancerStickyCookiePolicy"},"description":"The policies defined for the load balancer.\n"},"loadBalancerType":{"type":"string","description":"The type of load balancer. Valid only for load balancers in a Net.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, the load balancer has a public DNS name that resolves to a private IP.\n"},"netId":{"type":"string","description":"The ID of the Net for the load balancer.\n"},"publicIp":{"type":"string","description":"(internet-facing only) The public IP associated with the load balancer.\n"},"securedCookies":{"type":"boolean","description":"Whether secure cookies are enabled for the load balancer.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the load balancers. Valid only for load balancers in a Net.\n"},"sourceSecurityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersLoadBalancerSourceSecurityGroup:getLoadBalancersLoadBalancerSourceSecurityGroup"},"description":"Information about the source security group of the load balancer, which you can use as part of your inbound rules for your registered VMs.\u003cbr /\u003e\nTo only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.\n"},"subnetIds":{"type":"array","items":{"type":"string"}},"subregionNames":{"type":"array","items":{"type":"string"},"description":"The ID of the Subregion in which the load balancer was created.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersLoadBalancerTag:getLoadBalancersLoadBalancerTag"},"description":"One or more tags associated with the load balancer.\n"}},"type":"object","required":["accessLogs","applicationStickyCookiePolicies","backendIps","backendVmIds","dnsName","healthChecks","listeners","loadBalancerName","loadBalancerStickyCookiePolicies","loadBalancerType","netId","publicIp","securedCookies","securityGroups","sourceSecurityGroups","subnetIds","subregionNames","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancersLoadBalancerAccessLog:getLoadBalancersLoadBalancerAccessLog":{"properties":{"isEnabled":{"type":"boolean","description":"If true, access logs are enabled for your load balancer. If false, they are not. If you set this to true in your request, the \u003cspan pulumi-lang-nodejs=\"`osuBucketName`\" pulumi-lang-dotnet=\"`OsuBucketName`\" pulumi-lang-go=\"`osuBucketName`\" pulumi-lang-python=\"`osu_bucket_name`\" pulumi-lang-yaml=\"`osuBucketName`\" pulumi-lang-java=\"`osuBucketName`\"\u003e`osu_bucket_name`\u003c/span\u003e parameter is required.\n"},"osuBucketName":{"type":"string","description":"The name of the OOS bucket for the access logs.\n"},"osuBucketPrefix":{"type":"string","description":"The path to the folder of the access logs in your OOS bucket (by default, the \u003cspan pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\"\u003e`root`\u003c/span\u003e level of your bucket).\n"},"publicationInterval":{"type":"number","description":"The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e (by default, \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e).\n"}},"type":"object","required":["isEnabled","osuBucketName","osuBucketPrefix","publicationInterval"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancersLoadBalancerApplicationStickyCookiePolicy:getLoadBalancersLoadBalancerApplicationStickyCookiePolicy":{"properties":{"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness.\n"},"policyName":{"type":"string","description":"The name of the stickiness policy.\n"}},"type":"object","required":["cookieName","policyName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancersLoadBalancerHealthCheck:getLoadBalancersLoadBalancerHealthCheck":{"properties":{"checkInterval":{"type":"number","description":"The number of seconds between two requests (between \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e both included).\n"},"healthyThreshold":{"type":"number","description":"The number of consecutive successful requests before considering the VM as healthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"},"path":{"type":"string","description":"If you use the HTTP or HTTPS protocols, the request URL path. Always starts with a slash (`/`).\n"},"port":{"type":"number","description":"The port number (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"protocol":{"type":"string","description":"The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"timeout":{"type":"number","description":"The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e both included).\n"},"unhealthyThreshold":{"type":"number","description":"The number of consecutive failed requests before considering the VM as unhealthy (between \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e both included).\n"}},"type":"object","required":["checkInterval","healthyThreshold","path","port","protocol","timeout","unhealthyThreshold"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancersLoadBalancerListener:getLoadBalancersLoadBalancerListener":{"properties":{"backendPort":{"type":"number","description":"The port on which the backend VM is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"backendProtocol":{"type":"string","description":"The protocol for routing traffic to backend VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"loadBalancerPort":{"type":"number","description":"The port on which the load balancer is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included).\n"},"loadBalancerProtocol":{"type":"string","description":"The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"},"policyNames":{"type":"array","items":{"type":"string"},"description":"The names of the policies. If there are no policies enabled, the list is empty.\n"},"serverCertificateId":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns).\n"}},"type":"object","required":["backendPort","backendProtocol","loadBalancerPort","loadBalancerProtocol","policyNames","serverCertificateId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancersLoadBalancerLoadBalancerStickyCookiePolicy:getLoadBalancersLoadBalancerLoadBalancerStickyCookiePolicy":{"properties":{"policyName":{"type":"string","description":"The name of the stickiness policy.\n"}},"type":"object","required":["policyName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancersLoadBalancerSourceSecurityGroup:getLoadBalancersLoadBalancerSourceSecurityGroup":{"properties":{"securityGroupAccountId":{"type":"string","description":"The account ID of the owner of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupAccountId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getLoadBalancersLoadBalancerTag:getLoadBalancersLoadBalancerTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNatServiceFilter:getNatServiceFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNatServicePublicIp:getNatServicePublicIp":{"properties":{"publicIp":{"type":"string","description":"The public IP associated with the NAT service.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP associated with the NAT service.\n"}},"type":"object","required":["publicIp","publicIpId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNatServiceTag:getNatServiceTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNatServicesFilter:getNatServicesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNatServicesNatService:getNatServicesNatService":{"properties":{"natServiceId":{"type":"string","description":"The ID of the NAT service.\n"},"netId":{"type":"string","description":"The ID of the Net in which the NAT service is.\n"},"publicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNatServicesNatServicePublicIp:getNatServicesNatServicePublicIp"},"description":"Information about the public IP or IPs associated with the NAT service.\n"},"state":{"type":"string","description":"The state of the NAT service (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which the NAT service is.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNatServicesNatServiceTag:getNatServicesNatServiceTag"},"description":"One or more tags associated with the NAT service.\n"}},"type":"object","required":["natServiceId","netId","publicIps","state","subnetId","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNatServicesNatServicePublicIp:getNatServicesNatServicePublicIp":{"properties":{"publicIp":{"type":"string","description":"The public IP associated with the NAT service.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP associated with the NAT service.\n"}},"type":"object","required":["publicIp","publicIpId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNatServicesNatServiceTag:getNatServicesNatServiceTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetAccessPointFilter:getNetAccessPointFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNetAccessPointServicesFilter:getNetAccessPointServicesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNetAccessPointServicesService:getNetAccessPointServicesService":{"properties":{"ipRanges":{"type":"array","items":{"type":"string"},"description":"The list of network prefixes used by the service, in CIDR notation.\n"},"serviceId":{"type":"string","description":"The ID of the service.\n"},"serviceName":{"type":"string","description":"The name of the service.\n"}},"type":"object","required":["ipRanges","serviceId","serviceName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetAccessPointTag:getNetAccessPointTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetAccessPointsFilter:getNetAccessPointsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNetAccessPointsNetAccessPoint:getNetAccessPointsNetAccessPoint":{"properties":{"netAccessPointId":{"type":"string","description":"The ID of the Net access point.\n"},"netId":{"type":"string","description":"The ID of the Net with which the Net access point is associated.\n"},"routeTableIds":{"type":"array","items":{"type":"string"},"description":"The ID of the route tables associated with the Net access point.\n"},"serviceName":{"type":"string","description":"The name of the service with which the Net access point is associated.\n"},"state":{"type":"string","description":"The state of the Net access point (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointsNetAccessPointTag:getNetAccessPointsNetAccessPointTag"},"description":"One or more tags associated with the Net access point.\n"}},"type":"object","required":["netAccessPointId","netId","routeTableIds","serviceName","state","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetAccessPointsNetAccessPointTag:getNetAccessPointsNetAccessPointTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetAttributesTag:getNetAttributesTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetFilter:getNetFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNetPeeringAccepterNet:getNetPeeringAccepterNet":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the source Net.\n"},"ipRange":{"type":"string","description":"The IP range for the source Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the source Net.\n"}},"type":"object","required":["accountId","ipRange","netId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetPeeringFilter:getNetPeeringFilter":{"properties":{"name":{"type":"string","description":"The state of the Net peering (`pending-acceptance` \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNetPeeringSourceNet:getNetPeeringSourceNet":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the source Net.\n"},"ipRange":{"type":"string","description":"The IP range for the source Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the source Net.\n"}},"type":"object","required":["accountId","ipRange","netId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetPeeringState:getNetPeeringState":{"properties":{"message":{"type":"string","description":"Additional information about the state of the Net peering.\n"},"name":{"type":"string","description":"The state of the Net peering (`pending-acceptance` \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"}},"type":"object","required":["message","name"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetPeeringTag:getNetPeeringTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetPeeringsFilter:getNetPeeringsFilter":{"properties":{"name":{"type":"string","description":"The state of the Net peering (`pending-acceptance` \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNetPeeringsNetPeering:getNetPeeringsNetPeering":{"properties":{"accepterNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringsNetPeeringAccepterNet:getNetPeeringsNetPeeringAccepterNet"},"description":"Information about the accepter Net.\n"},"netPeeringId":{"type":"string","description":"The ID of the Net peering.\n"},"sourceNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringsNetPeeringSourceNet:getNetPeeringsNetPeeringSourceNet"},"description":"Information about the source Net.\n"},"states":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringsNetPeeringState:getNetPeeringsNetPeeringState"},"description":"Information about the state of the Net peering.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringsNetPeeringTag:getNetPeeringsNetPeeringTag"},"description":"One or more tags associated with the Net peering.\n"}},"type":"object","required":["accepterNets","netPeeringId","sourceNets","states","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetPeeringsNetPeeringAccepterNet:getNetPeeringsNetPeeringAccepterNet":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the source Net.\n"},"ipRange":{"type":"string","description":"The IP range for the source Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the source Net.\n"}},"type":"object","required":["accountId","ipRange","netId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetPeeringsNetPeeringSourceNet:getNetPeeringsNetPeeringSourceNet":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the source Net.\n"},"ipRange":{"type":"string","description":"The IP range for the source Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the source Net.\n"}},"type":"object","required":["accountId","ipRange","netId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetPeeringsNetPeeringState:getNetPeeringsNetPeeringState":{"properties":{"message":{"type":"string","description":"Additional information about the state of the Net peering.\n"},"name":{"type":"string","description":"The state of the Net peering (`pending-acceptance` \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`rejected`\" pulumi-lang-dotnet=\"`Rejected`\" pulumi-lang-go=\"`rejected`\" pulumi-lang-python=\"`rejected`\" pulumi-lang-yaml=\"`rejected`\" pulumi-lang-java=\"`rejected`\"\u003e`rejected`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"}},"type":"object","required":["message","name"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetPeeringsNetPeeringTag:getNetPeeringsNetPeeringTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetTag:getNetTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetsFilter:getNetsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNetsNet:getNetsNet":{"properties":{"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set (or \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if you want to associate the default one).\n"},"ipRange":{"type":"string","description":"The IP range for the Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"state":{"type":"string","description":"The state of the Net (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetsNetTag:getNetsNetTag"},"description":"One or more tags associated with the Net.\n"},"tenancy":{"type":"string","description":"The VM tenancy in a Net.\n"}},"type":"object","required":["dhcpOptionsSetId","ipRange","netId","state","tags","tenancy"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNetsNetTag:getNetsNetTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicFilter:getNicFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNicLinkNic:getNicLinkNic":{"properties":{"deleteOnVmDeletion":{"type":"string","description":"If true, the NIC is deleted when the VM is terminated.\n"},"deviceNumber":{"type":"number","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.\n"},"state":{"type":"string","description":"The state of the NIC (\u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n"},"vmAccountId":{"type":"string","description":"The account ID of the owner of the VM.\n"},"vmId":{"type":"string","description":"The ID of the VM.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","state","vmAccountId","vmId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicLinkPublicIp:getNicLinkPublicIp":{"properties":{"linkPublicIpId":{"type":"string","description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n"},"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP associated with the NIC.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"}},"type":"object","required":["linkPublicIpId","publicDnsName","publicIp","publicIpAccountId","publicIpId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicPrivateIp:getNicPrivateIp":{"properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNicPrivateIpLinkPublicIp:getNicPrivateIpLinkPublicIp"},"description":"Information about the public IP association.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The private IP of the NIC.\n"}},"type":"object","required":["isPrimary","linkPublicIps","privateDnsName","privateIp"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicPrivateIpLinkPublicIp:getNicPrivateIpLinkPublicIp":{"properties":{"linkPublicIpId":{"type":"string","description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n"},"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP associated with the NIC.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"}},"type":"object","required":["linkPublicIpId","publicDnsName","publicIp","publicIpAccountId","publicIpId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicSecurityGroup:getNicSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicTag:getNicTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicsFilter:getNicsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getNicsNic:getNicsNic":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"description":{"type":"string","description":"The description of the NIC.\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"linkNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNicsNicLinkNic:getNicsNicLinkNic"},"description":"Information about the NIC attachment.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNicsNicLinkPublicIp:getNicsNicLinkPublicIp"},"description":"Information about the public IP association.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNicsNicPrivateIp:getNicsNicPrivateIp"},"description":"The private IPs of the NIC.\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNicsNicSecurityGroup:getNicsNicSecurityGroup"},"description":"One or more IDs of security groups for the NIC.\n"},"state":{"type":"string","description":"The state of the NIC (\u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet.\n"},"subregionName":{"type":"string","description":"The Subregion in which the NIC is located.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNicsNicTag:getNicsNicTag"},"description":"One or more tags associated with the NIC.\n"}},"type":"object","required":["accountId","description","isSourceDestChecked","linkNics","linkPublicIps","macAddress","netId","nicId","privateDnsName","privateIps","securityGroups","state","subnetId","subregionName","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicsNicLinkNic:getNicsNicLinkNic":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"deviceNumber":{"type":"number","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.\n"},"state":{"type":"string","description":"The state of the NIC (\u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n"},"vmAccountId":{"type":"string","description":"The account ID of the owner of the VM.\n"},"vmId":{"type":"string","description":"The ID of the VM.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","state","vmAccountId","vmId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicsNicLinkPublicIp:getNicsNicLinkPublicIp":{"properties":{"linkPublicIpId":{"type":"string","description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n"},"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP associated with the NIC.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"}},"type":"object","required":["linkPublicIpId","publicDnsName","publicIp","publicIpAccountId","publicIpId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicsNicPrivateIp:getNicsNicPrivateIp":{"properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNicsNicPrivateIpLinkPublicIp:getNicsNicPrivateIpLinkPublicIp"},"description":"Information about the public IP association.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The private IP of the NIC.\n"}},"type":"object","required":["isPrimary","linkPublicIps","privateDnsName","privateIp"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicsNicPrivateIpLinkPublicIp:getNicsNicPrivateIpLinkPublicIp":{"properties":{"linkPublicIpId":{"type":"string","description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n"},"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP associated with the NIC.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"}},"type":"object","required":["linkPublicIpId","publicDnsName","publicIp","publicIpAccountId","publicIpId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicsNicSecurityGroup:getNicsNicSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getNicsNicTag:getNicsNicTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getPoliciesFilter:getPoliciesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getPoliciesLinkedToUserGroupFilter:getPoliciesLinkedToUserGroupFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getPoliciesLinkedToUserGroupPolicy:getPoliciesLinkedToUserGroupPolicy":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) at which the linked policy was created.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) at which the linked policy was last modified.\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"policyId":{"type":"string","description":"The ID of the policy.\n"},"policyName":{"type":"string","description":"The name of the policy.\n"}},"type":"object","required":["creationDate","lastModificationDate","orn","policyId","policyName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getPoliciesLinkedToUserPolicy:getPoliciesLinkedToUserPolicy":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) at which the linked policy was created.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) at which the linked policy was last modified.\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"policyId":{"type":"string","description":"The ID of the policy.\n"},"policyName":{"type":"string","description":"The name of the policy.\n"}},"type":"object","required":["creationDate","lastModificationDate","orn","policyId","policyName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getPoliciesPolicy:getPoliciesPolicy":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) at which the policy was created.\n"},"description":{"type":"string","description":"A friendly name for the policy (between 0 and 1000 characters).\n"},"isLinkable":{"type":"boolean","description":"Indicates whether the policy can be linked to a group or an EIM user.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) at which the policy was last modified.\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"path":{"type":"string","description":"The path to the policy.\n"},"policyDefaultVersionId":{"type":"string","description":"The ID of the policy default version.\n"},"policyId":{"type":"string","description":"The ID of the policy.\n"},"policyName":{"type":"string","description":"The name of the policy.\n"},"resourcesCount":{"type":"number","description":"The number of resources attached to the policy.\n"}},"type":"object","required":["creationDate","description","isLinkable","lastModificationDate","orn","path","policyDefaultVersionId","policyId","policyName","resourcesCount"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getProductTypeFilter:getProductTypeFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getProductTypesFilter:getProductTypesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getProductTypesProductType:getProductTypesProductType":{"properties":{"description":{"type":"string","description":"The description of the product type.\n"},"productTypeId":{"type":"string","description":"The ID of the product type.\n"},"vendor":{"type":"string","description":"The vendor of the product type.\n"}},"type":"object","required":["description","productTypeId","vendor"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getPublicCatalogCatalog:getPublicCatalogCatalog":{"properties":{"entries":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetPublicCatalogCatalogEntry:getPublicCatalogCatalogEntry"}}},"type":"object","required":["entries"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getPublicCatalogCatalogEntry:getPublicCatalogCatalogEntry":{"properties":{"category":{"type":"string"},"flags":{"type":"string"},"operation":{"type":"string"},"service":{"type":"string"},"subregionName":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"unitPrice":{"type":"number"}},"type":"object","required":["category","flags","operation","service","subregionName","title","type","unitPrice"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getPublicIpFilter:getPublicIpFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getPublicIpTag:getPublicIpTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getPublicIpsFilter:getPublicIpsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getPublicIpsPublicIp:getPublicIpsPublicIp":{"properties":{"linkPublicIpId":{"type":"string","description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n"},"nicAccountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC the public IP is associated with (if any).\n"},"privateIp":{"type":"string","description":"The private IP associated with the public IP.\n"},"publicIp":{"type":"string","description":"The public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetPublicIpsPublicIpTag:getPublicIpsPublicIpTag"},"description":"One or more tags associated with the public IP.\n"},"vmId":{"type":"string","description":"The ID of the VM the public IP is associated with (if any).\n"}},"type":"object","required":["linkPublicIpId","nicAccountId","nicId","privateIp","publicIp","publicIpId","tags","vmId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getPublicIpsPublicIpTag:getPublicIpsPublicIpTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getQuotaFilter:getQuotaFilter":{"properties":{"name":{"type":"string","description":"The unique name of the quota.\n"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getQuotasFilter:getQuotasFilter":{"properties":{"name":{"type":"string","description":"The unique name of the quota.\n"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getQuotasQuota:getQuotasQuota":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the quotas.\n"},"description":{"type":"string","description":"The description of the quota.\n"},"maxValue":{"type":"number","description":"The maximum value of the quota for the account (if there is no limit, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e).\n"},"name":{"type":"string","description":"The unique name of the quota.\n"},"quotaCollection":{"type":"string","description":"The group name of the quota.\n"},"quotaType":{"type":"string","description":"The ressource ID if it is a resource-specific quota, \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e if it is not.\n"},"shortDescription":{"type":"string","description":"The description of the quota.\n"},"usedValue":{"type":"number","description":"The limit value currently used by the account.\n"}},"type":"object","required":["accountId","description","maxValue","name","quotaCollection","quotaType","shortDescription","usedValue"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRegionsRegion:getRegionsRegion":{"properties":{"endpoint":{"type":"string","description":"The hostname of the gateway to access the Region.\n"},"regionName":{"type":"string","description":"The administrative name of the Region.\n"}},"type":"object","required":["endpoint","regionName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRouteTableFilter:getRouteTableFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getRouteTableLinkRouteTable:getRouteTableLinkRouteTable":{"properties":{"linkRouteTableId":{"type":"string","description":"The ID of the association between the route table and the Net or Subnet.\n"},"main":{"type":"boolean","description":"If true, the route table is the main one.\n"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"routeTableToSubnetLinkId":{"type":"string"},"subnetId":{"type":"string","description":"The ID of the Subnet, if the route table is explicitly linked to a Subnet.\n"}},"type":"object","required":["linkRouteTableId","main","routeTableId","routeTableToSubnetLinkId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRouteTableRoute:getRouteTableRoute":{"properties":{"creationMethod":{"type":"string","description":"The method used to create the route.\n"},"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"},"destinationServiceId":{"type":"string","description":"The ID of the OUTSCALE service.\n"},"gatewayId":{"type":"string","description":"The ID of the internet service or virtual gateway attached to the Net.\n"},"natServiceId":{"type":"string","description":"The ID of a NAT service attached to the Net.\n"},"netAccessPointId":{"type":"string","description":"The ID of the Net access point.\n"},"netPeeringId":{"type":"string","description":"The ID of the Net peering.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"state":{"type":"string","description":"The state of a route in the route table (always \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e).\n"},"vmAccountId":{"type":"string","description":"The account ID of the owner of the VM.\n"},"vmId":{"type":"string","description":"The ID of a VM specified in a route in the table.\n"}},"type":"object","required":["creationMethod","destinationIpRange","destinationServiceId","gatewayId","natServiceId","netAccessPointId","netPeeringId","nicId","state","vmAccountId","vmId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRouteTableRoutePropagatingVirtualGateway:getRouteTableRoutePropagatingVirtualGateway":{"properties":{"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"}},"type":"object","required":["virtualGatewayId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRouteTableTag:getRouteTableTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRouteTablesFilter:getRouteTablesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getRouteTablesRouteTable:getRouteTablesRouteTable":{"properties":{"linkRouteTables":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetRouteTablesRouteTableLinkRouteTable:getRouteTablesRouteTableLinkRouteTable"},"description":"One or more associations between the route table and Subnets.\n"},"netId":{"type":"string","description":"The ID of the Net for the route table.\n"},"routePropagatingVirtualGateways":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetRouteTablesRouteTableRoutePropagatingVirtualGateway:getRouteTablesRouteTableRoutePropagatingVirtualGateway"},"description":"Information about virtual gateways propagating routes.\n"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"routes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetRouteTablesRouteTableRoute:getRouteTablesRouteTableRoute"},"description":"One or more routes in the route table.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetRouteTablesRouteTableTag:getRouteTablesRouteTableTag"},"description":"One or more tags associated with the route table.\n"}},"type":"object","required":["linkRouteTables","netId","routePropagatingVirtualGateways","routeTableId","routes","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRouteTablesRouteTableLinkRouteTable:getRouteTablesRouteTableLinkRouteTable":{"properties":{"linkRouteTableId":{"type":"string","description":"The ID of the association between the route table and the Net or Subnet.\n"},"main":{"type":"boolean","description":"If true, the route table is the main one.\n"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"routeTableToSubnetLinkId":{"type":"string"},"subnetId":{"type":"string","description":"The ID of the Subnet, if the route table is explicitly linked to a Subnet.\n"}},"type":"object","required":["linkRouteTableId","main","routeTableId","routeTableToSubnetLinkId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRouteTablesRouteTableRoute:getRouteTablesRouteTableRoute":{"properties":{"creationMethod":{"type":"string","description":"The method used to create the route.\n"},"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"},"destinationServiceId":{"type":"string","description":"The ID of the OUTSCALE service.\n"},"gatewayId":{"type":"string","description":"The ID of the internet service or virtual gateway attached to the Net.\n"},"natServiceId":{"type":"string","description":"The ID of a NAT service attached to the Net.\n"},"netAccessPointId":{"type":"string","description":"The ID of the Net access point.\n"},"netPeeringId":{"type":"string","description":"The ID of the Net peering.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"state":{"type":"string","description":"The state of a route in the route table (always \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e).\n"},"vmAccountId":{"type":"string","description":"The account ID of the owner of the VM.\n"},"vmId":{"type":"string","description":"The ID of a VM specified in a route in the table.\n"}},"type":"object","required":["creationMethod","destinationIpRange","destinationServiceId","gatewayId","natServiceId","netAccessPointId","netPeeringId","nicId","state","vmAccountId","vmId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRouteTablesRouteTableRoutePropagatingVirtualGateway:getRouteTablesRouteTableRoutePropagatingVirtualGateway":{"properties":{"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"}},"type":"object","required":["virtualGatewayId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getRouteTablesRouteTableTag:getRouteTablesRouteTableTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupFilter:getSecurityGroupFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getSecurityGroupInboundRule:getSecurityGroupInboundRule":{"properties":{"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IP ranges for the security group rules, in CIDR notation (for example, `10.0.0.0/16`).\n"},"prefixListIds":{"type":"array","items":{"type":"string"}},"securityGroupsMembers":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupInboundRuleSecurityGroupsMember:getSecurityGroupInboundRuleSecurityGroupsMember"},"description":"Information about one or more source or destination security groups.\n"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n"}},"type":"object","required":["fromPortRange","ipProtocol","ipRanges","prefixListIds","securityGroupsMembers","toPortRange"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupInboundRuleSecurityGroupsMember:getSecurityGroupInboundRuleSecurityGroupsMember":{"properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["accountId","securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupOutboundRule:getSecurityGroupOutboundRule":{"properties":{"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IP ranges for the security group rules, in CIDR notation (for example, `10.0.0.0/16`).\n"},"prefixListIds":{"type":"array","items":{"type":"string"}},"securityGroupsMembers":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupOutboundRuleSecurityGroupsMember:getSecurityGroupOutboundRuleSecurityGroupsMember"},"description":"Information about one or more source or destination security groups.\n"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n"}},"type":"object","required":["fromPortRange","ipProtocol","ipRanges","prefixListIds","securityGroupsMembers","toPortRange"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupOutboundRuleSecurityGroupsMember:getSecurityGroupOutboundRuleSecurityGroupsMember":{"properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["accountId","securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupTag:getSecurityGroupTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupsFilter:getSecurityGroupsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getSecurityGroupsSecurityGroup:getSecurityGroupsSecurityGroup":{"properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"description":{"type":"string","description":"The description of the security group.\n"},"inboundRules":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupsSecurityGroupInboundRule:getSecurityGroupsSecurityGroupInboundRule"},"description":"The inbound rules associated with the security group.\n"},"netId":{"type":"string","description":"The ID of the Net for the security group.\n"},"outboundRules":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupsSecurityGroupOutboundRule:getSecurityGroupsSecurityGroupOutboundRule"},"description":"The outbound rules associated with the security group.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupsSecurityGroupTag:getSecurityGroupsSecurityGroupTag"},"description":"One or more tags associated with the security group.\n"}},"type":"object","required":["accountId","description","inboundRules","netId","outboundRules","securityGroupId","securityGroupName","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupsSecurityGroupInboundRule:getSecurityGroupsSecurityGroupInboundRule":{"properties":{"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IP ranges for the security group rules, in CIDR notation (for example, `10.0.0.0/16`).\n"},"prefixListIds":{"type":"array","items":{"type":"string"}},"securityGroupsMembers":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupsSecurityGroupInboundRuleSecurityGroupsMember:getSecurityGroupsSecurityGroupInboundRuleSecurityGroupsMember"},"description":"Information about one or more source or destination security groups.\n"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n"}},"type":"object","required":["fromPortRange","ipProtocol","ipRanges","prefixListIds","securityGroupsMembers","toPortRange"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupsSecurityGroupInboundRuleSecurityGroupsMember:getSecurityGroupsSecurityGroupInboundRuleSecurityGroupsMember":{"properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["accountId","securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupsSecurityGroupOutboundRule:getSecurityGroupsSecurityGroupOutboundRule":{"properties":{"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IP ranges for the security group rules, in CIDR notation (for example, `10.0.0.0/16`).\n"},"prefixListIds":{"type":"array","items":{"type":"string"}},"securityGroupsMembers":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupsSecurityGroupOutboundRuleSecurityGroupsMember:getSecurityGroupsSecurityGroupOutboundRuleSecurityGroupsMember"},"description":"Information about one or more source or destination security groups.\n"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n"}},"type":"object","required":["fromPortRange","ipProtocol","ipRanges","prefixListIds","securityGroupsMembers","toPortRange"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupsSecurityGroupOutboundRuleSecurityGroupsMember:getSecurityGroupsSecurityGroupOutboundRuleSecurityGroupsMember":{"properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["accountId","securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSecurityGroupsSecurityGroupTag:getSecurityGroupsSecurityGroupTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getServerCertificateFilter:getServerCertificateFilter":{"properties":{"name":{"type":"string","description":"The name of the server certificate.\n"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getServerCertificatesFilter:getServerCertificatesFilter":{"properties":{"name":{"type":"string","description":"The name of the server certificate.\n"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getServerCertificatesServerCertificate:getServerCertificatesServerCertificate":{"properties":{"expirationDate":{"type":"string","description":"The date on which the server certificate expires.\n"},"id":{"type":"string","description":"The ID of the server certificate.\n"},"name":{"type":"string","description":"The name of the server certificate.\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns).\n"},"path":{"type":"string","description":"The path to the server certificate.\n"},"uploadDate":{"type":"string","description":"The date on which the server certificate has been uploaded.\n"}},"type":"object","required":["expirationDate","id","name","orn","path","uploadDate"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotExportTaskFilter:getSnapshotExportTaskFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getSnapshotExportTaskOsuExport:getSnapshotExportTaskOsuExport":{"properties":{"diskImageFormat":{"type":"string","description":"The format of the export disk (\u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e).\n"},"osuBucket":{"type":"string","description":"The name of the OOS bucket the snapshot is exported to.\n"},"osuPrefix":{"type":"string","description":"The prefix for the key of the OOS object corresponding to the snapshot.\n"}},"type":"object","required":["diskImageFormat","osuBucket","osuPrefix"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotExportTaskTag:getSnapshotExportTaskTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotExportTaskTimeouts:getSnapshotExportTaskTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"outscale:index/getSnapshotExportTasksFilter:getSnapshotExportTasksFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getSnapshotExportTasksSnapshotExportTask:getSnapshotExportTasksSnapshotExportTask":{"properties":{"comment":{"type":"string","description":"If the snapshot export task fails, an error message appears.\n"},"osuExports":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTasksSnapshotExportTaskOsuExport:getSnapshotExportTasksSnapshotExportTaskOsuExport"},"description":"Information about the snapshot export task.\n"},"progress":{"type":"number","description":"The progress of the snapshot export task, as a percentage.\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot to be exported.\n"},"state":{"type":"string","description":"The state of the snapshot export task (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTasksSnapshotExportTaskTag:getSnapshotExportTasksSnapshotExportTaskTag"},"description":"One or more tags associated with the snapshot export task.\n"},"taskId":{"type":"string","description":"The ID of the snapshot export task.\n"}},"type":"object","required":["comment","osuExports","progress","snapshotId","state","tags","taskId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotExportTasksSnapshotExportTaskOsuExport:getSnapshotExportTasksSnapshotExportTaskOsuExport":{"properties":{"diskImageFormat":{"type":"string","description":"The format of the export disk (\u003cspan pulumi-lang-nodejs=\"`qcow2`\" pulumi-lang-dotnet=\"`Qcow2`\" pulumi-lang-go=\"`qcow2`\" pulumi-lang-python=\"`qcow2`\" pulumi-lang-yaml=\"`qcow2`\" pulumi-lang-java=\"`qcow2`\"\u003e`qcow2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`raw`\" pulumi-lang-dotnet=\"`Raw`\" pulumi-lang-go=\"`raw`\" pulumi-lang-python=\"`raw`\" pulumi-lang-yaml=\"`raw`\" pulumi-lang-java=\"`raw`\"\u003e`raw`\u003c/span\u003e).\n"},"osuBucket":{"type":"string","description":"The name of the OOS bucket the snapshot is exported to.\n"},"osuPrefix":{"type":"string","description":"The prefix for the key of the OOS object corresponding to the snapshot.\n"}},"type":"object","required":["diskImageFormat","osuBucket","osuPrefix"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotExportTasksSnapshotExportTaskTag:getSnapshotExportTasksSnapshotExportTaskTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotExportTasksTimeouts:getSnapshotExportTasksTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"outscale:index/getSnapshotFilter:getSnapshotFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getSnapshotPermissionsToCreateVolume:getSnapshotPermissionsToCreateVolume":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"One or more account IDs that the permission is associated with.\n"},"globalPermission":{"type":"boolean","description":"A global permission for all accounts.\u003cbr /\u003e\n(Request) Set this parameter to true to make the resource public (if the parent parameter is `Additions`) or to make the resource private (if the parent parameter is `Removals`).\u003cbr /\u003e\n(Response) If true, the resource is public. If false, the resource is private.\n"}},"type":"object","required":["accountIds","globalPermission"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotTag:getSnapshotTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotsFilter:getSnapshotsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getSnapshotsSnapshot:getSnapshotsSnapshot":{"properties":{"accountAlias":{"type":"string","description":"The account alias of the owner of the snapshot.\n"},"accountId":{"type":"string","description":"The account ID of the owner of the snapshot.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the snapshot was created.\n"},"description":{"type":"string","description":"The description of the snapshot.\n"},"permissionsToCreateVolumes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSnapshotsSnapshotPermissionsToCreateVolume:getSnapshotsSnapshotPermissionsToCreateVolume"},"description":"Permissions for the resource.\n"},"progress":{"type":"number","description":"The progress of the snapshot, as a percentage.\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot.\n"},"state":{"type":"string","description":"The state of the snapshot (`in-queue` \\| \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSnapshotsSnapshotTag:getSnapshotsSnapshotTag"},"description":"One or more tags associated with the snapshot.\n"},"volumeId":{"type":"string","description":"The ID of the volume used to create the snapshot.\n"},"volumeSize":{"type":"number","description":"The size of the volume used to create the snapshot, in gibibytes (GiB).\n"}},"type":"object","required":["accountAlias","accountId","creationDate","description","permissionsToCreateVolumes","progress","snapshotId","state","tags","volumeId","volumeSize"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotsSnapshotPermissionsToCreateVolume:getSnapshotsSnapshotPermissionsToCreateVolume":{"properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"One or more account IDs that the permission is associated with.\n"},"globalPermission":{"type":"boolean","description":"A global permission for all accounts.\u003cbr /\u003e\n(Request) Set this parameter to true to make the resource public (if the parent parameter is `Additions`) or to make the resource private (if the parent parameter is `Removals`).\u003cbr /\u003e\n(Response) If true, the resource is public. If false, the resource is private.\n"}},"type":"object","required":["accountIds","globalPermission"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSnapshotsSnapshotTag:getSnapshotsSnapshotTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSubnetFilter:getSubnetFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getSubnetTag:getSubnetTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSubnetsFilter:getSubnetsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getSubnetsSubnet:getSubnetsSubnet":{"properties":{"availableIpsCount":{"type":"number","description":"The number of available IPs in the Subnets.\n"},"ipRange":{"type":"string","description":"The IP range in the Subnet, in CIDR notation (for example, `10.0.0.0/16`).\n"},"mapPublicIpOnLaunch":{"type":"boolean","description":"If true, a public IP is assigned to the network interface cards (NICs) created in the specified Subnet.\n"},"netId":{"type":"string","description":"The ID of the Net in which the Subnet is.\n"},"state":{"type":"string","description":"The state of the Subnet (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet.\n"},"subregionName":{"type":"string","description":"The name of the Subregion in which the Subnet is located.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSubnetsSubnetTag:getSubnetsSubnetTag"},"description":"One or more tags associated with the Subnet.\n"}},"type":"object","required":["availableIpsCount","ipRange","mapPublicIpOnLaunch","netId","state","subnetId","subregionName","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSubnetsSubnetTag:getSubnetsSubnetTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getSubregionsFilter:getSubregionsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getSubregionsSubregion:getSubregionsSubregion":{"properties":{"locationCode":{"type":"string","description":"The location code (physical zone) of the Subregion. For more information, see [About Regions \u003e Mapping Between Subregions and Physical Zones](https://docs.outscale.com/en/userguide/About-Regions-and-Subregions.html#_mapping_between_subregions_and_physical_zones).\n"},"regionName":{"type":"string","description":"The name of the Region containing the Subregion.\n"},"state":{"type":"string","description":"The state of the Subregion.\n"},"subregionName":{"type":"string","description":"The name of the Subregion.\n"}},"type":"object","required":["locationCode","regionName","state","subregionName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getTagFilter:getTagFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getTagsFilter:getTagsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getTagsTag:getTagsTag":{"properties":{"key":{"type":"string"},"resourceId":{"type":"string"},"resourceType":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","resourceId","resourceType","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getUserFilter:getUserFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getUserGroupUser:getUserGroupUser":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the EIM user.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the EIM user.\n"},"path":{"type":"string","description":"The path to the group. If not specified, it is set to a slash (`/`).\n"},"userEmail":{"type":"string","description":"The email address of the EIM user.\n"},"userId":{"type":"string","description":"The ID of the EIM user.\n"},"userName":{"type":"string","description":"The name of the EIM user.\n"}},"type":"object","required":["creationDate","lastModificationDate","path","userEmail","userId","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getUserGroupsFilter:getUserGroupsFilter":{"properties":{"name":{"type":"string","description":"The name of the user group.\n"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getUserGroupsPerUserUserGroup:getUserGroupsPerUserUserGroup":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the user group.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the user group.\n"},"orn":{"type":"string","description":"The Outscale Resource Name (ORN) of the user group. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"path":{"type":"string","description":"The path to the user group.\n"},"userGroupId":{"type":"string","description":"The ID of the user group.\n"},"userGroupName":{"type":"string"}},"type":"object","required":["creationDate","lastModificationDate","orn","path","userGroupId","userGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getUserGroupsUserGroup:getUserGroupsUserGroup":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the user group.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the user group.\n"},"orn":{"type":"string","description":"The Outscale Resource Name (ORN) of the user group. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"path":{"type":"string","description":"The path to the user group.\n"},"userGroupId":{"type":"string","description":"The ID of the user group.\n"},"userGroupName":{"type":"string"}},"type":"object","required":["creationDate","lastModificationDate","orn","path","userGroupId","userGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getUsersFilter:getUsersFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getUsersUser:getUsersUser":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the EIM user.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the EIM user.\n"},"path":{"type":"string","description":"The path to the EIM user.\n"},"userEmail":{"type":"string","description":"The email address of the EIM user.\n"},"userId":{"type":"string","description":"The ID of the EIM user.\n"},"userName":{"type":"string","description":"The name of the EIM user.\n"}},"type":"object","required":["creationDate","lastModificationDate","path","userEmail","userId","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVirtualGatewayFilter:getVirtualGatewayFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVirtualGatewayNetToVirtualGatewayLink:getVirtualGatewayNetToVirtualGatewayLink":{"properties":{"netId":{"type":"string","description":"The ID of the Net to which the virtual gateway is attached.\n"},"state":{"type":"string","description":"The state of the virtual gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"}},"type":"object","required":["netId","state"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVirtualGatewayTag:getVirtualGatewayTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVirtualGatewaysFilter:getVirtualGatewaysFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVirtualGatewaysVirtualGateway:getVirtualGatewaysVirtualGateway":{"properties":{"connectionType":{"type":"string","description":"The type of VPN connection supported by the virtual gateway (always `ipsec.1`).\n"},"netToVirtualGatewayLinks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVirtualGatewaysVirtualGatewayNetToVirtualGatewayLink:getVirtualGatewaysVirtualGatewayNetToVirtualGatewayLink"},"description":"The Net to which the virtual gateway is attached.\n"},"state":{"type":"string","description":"The state of the virtual gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVirtualGatewaysVirtualGatewayTag:getVirtualGatewaysVirtualGatewayTag"},"description":"One or more tags associated with the virtual gateway.\n"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"}},"type":"object","required":["connectionType","netToVirtualGatewayLinks","state","tags","virtualGatewayId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVirtualGatewaysVirtualGatewayNetToVirtualGatewayLink:getVirtualGatewaysVirtualGatewayNetToVirtualGatewayLink":{"properties":{"netId":{"type":"string","description":"The ID of the Net to which the virtual gateway is attached.\n"},"state":{"type":"string","description":"The state of the virtual gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"}},"type":"object","required":["netId","state"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVirtualGatewaysVirtualGatewayTag:getVirtualGatewaysVirtualGatewayTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmActionsOnNextBoot:getVmActionsOnNextBoot":{"properties":{"secureBoot":{"type":"string","description":"One action to perform on the next boot of the VM. For more information, see [About Secure Boot](https://docs.outscale.com/en/userguide/About-Secure-Boot.html#_secure_boot_actions).\n"}},"type":"object","required":["secureBoot"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmBlockDeviceMappingsCreated:getVmBlockDeviceMappingsCreated":{"properties":{"bsus":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmBlockDeviceMappingsCreatedBsus:getVmBlockDeviceMappingsCreatedBsus"},"description":"Information about the created BSU volume.\n"},"deviceName":{"type":"string","description":"The name of the device.\n"}},"type":"object","required":["bsus","deviceName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmBlockDeviceMappingsCreatedBsus:getVmBlockDeviceMappingsCreatedBsus":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"linkDate":{"type":"string","description":"The date and time (UTC) at which the volume was attached to the VM, in ISO 8601 date-time format.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmBlockDeviceMappingsCreatedBsusTag:getVmBlockDeviceMappingsCreatedBsusTag"},"description":"One or more tags associated with the VM.\n"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object","required":["deleteOnVmDeletion","linkDate","state","tags","volumeId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmBlockDeviceMappingsCreatedBsusTag:getVmBlockDeviceMappingsCreatedBsusTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmFilter:getVmFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVmNic:getVmNic":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"description":{"type":"string","description":"The description of the NIC.\n"},"deviceNumber":{"type":"number","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"linkNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmNicLinkNic:getVmNicLinkNic"},"description":"Information about the network interface card (NIC).\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmNicLinkPublicIp:getVmNicLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmNicPrivateIp:getVmNicPrivateIp"},"description":"The private IP or IPs of the NIC.\n"},"secondaryPrivateIpCount":{"type":"number"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the security groups for the VMs (only in the public Cloud).\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmNicSecurityGroup:getVmNicSecurityGroup"},"description":"One or more security groups associated with the VM.\n"},"securityGroupsNames":{"type":"array","items":{"type":"string"}},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet for the VM.\n"}},"type":"object","required":["accountId","deleteOnVmDeletion","description","deviceNumber","isSourceDestChecked","linkNics","linkPublicIps","macAddress","netId","nicId","privateDnsName","privateIps","secondaryPrivateIpCount","securityGroupIds","securityGroups","securityGroupsNames","state","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmNicLinkNic:getVmNicLinkNic":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"deviceNumber":{"type":"string","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","state"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmNicLinkPublicIp:getVmNicLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmNicPrivateIp:getVmNicPrivateIp":{"properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmNicPrivateIpLinkPublicIp:getVmNicPrivateIpLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The primary private IP of the VM.\n"}},"type":"object","required":["isPrimary","linkPublicIps","privateDnsName","privateIp"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmNicPrivateIpLinkPublicIp:getVmNicPrivateIpLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmNicSecurityGroup:getVmNicSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmPrimaryNic:getVmPrimaryNic":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"description":{"type":"string","description":"The description of the NIC.\n"},"deviceNumber":{"type":"number","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"linkNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmPrimaryNicLinkNic:getVmPrimaryNicLinkNic"},"description":"Information about the network interface card (NIC).\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmPrimaryNicLinkPublicIp:getVmPrimaryNicLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmPrimaryNicPrivateIp:getVmPrimaryNicPrivateIp"},"description":"The private IP or IPs of the NIC.\n"},"secondaryPrivateIpCount":{"type":"number"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the security groups for the VMs (only in the public Cloud).\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmPrimaryNicSecurityGroup:getVmPrimaryNicSecurityGroup"},"description":"One or more security groups associated with the VM.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet for the VM.\n"}},"type":"object","required":["accountId","deleteOnVmDeletion","description","deviceNumber","isSourceDestChecked","linkNics","linkPublicIps","macAddress","netId","nicId","privateDnsName","privateIps","secondaryPrivateIpCount","securityGroupIds","securityGroups","state","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmPrimaryNicLinkNic:getVmPrimaryNicLinkNic":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"deviceNumber":{"type":"string","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","state"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmPrimaryNicLinkPublicIp:getVmPrimaryNicLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmPrimaryNicPrivateIp:getVmPrimaryNicPrivateIp":{"properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmPrimaryNicPrivateIpLinkPublicIp:getVmPrimaryNicPrivateIpLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The primary private IP of the VM.\n"}},"type":"object","required":["isPrimary","linkPublicIps","privateDnsName","privateIp"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmPrimaryNicPrivateIpLinkPublicIp:getVmPrimaryNicPrivateIpLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmPrimaryNicSecurityGroup:getVmPrimaryNicSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmSecurityGroup:getVmSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmStateFilter:getVmStateFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVmStateMaintenanceEvent:getVmStateMaintenanceEvent":{"properties":{"code":{"type":"string","description":"The code of the event (`system-reboot` \\| `system-maintenance`).\n"},"description":{"type":"string","description":"The description of the event.\n"},"notAfter":{"type":"string","description":"The latest scheduled end date and time (UTC) for the event.\n"},"notBefore":{"type":"string","description":"The earliest scheduled start date and time (UTC) for the event.\n"}},"type":"object","required":["code","description","notAfter","notBefore"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmStatesFilter:getVmStatesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVmStatesVmState:getVmStatesVmState":{"properties":{"allVms":{"type":"boolean","description":"If true, includes the status of all VMs. By default or if set to false, only includes the status of running VMs.\n"},"maintenanceEvents":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmStatesVmStateMaintenanceEvent:getVmStatesVmStateMaintenanceEvent"},"description":"One or more scheduled events associated with the VM.\n"},"subregionName":{"type":"string","description":"The name of the Subregion of the VM.\n"},"vmId":{"type":"string","description":"The ID of the VM.\n"},"vmState":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"}},"type":"object","required":["allVms","maintenanceEvents","subregionName","vmId","vmState"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmStatesVmStateMaintenanceEvent:getVmStatesVmStateMaintenanceEvent":{"properties":{"code":{"type":"string","description":"The code of the event (`system-reboot` \\| `system-maintenance`).\n"},"description":{"type":"string","description":"The description of the event.\n"},"notAfter":{"type":"string","description":"The latest scheduled end date and time (UTC) for the event.\n"},"notBefore":{"type":"string","description":"The earliest scheduled start date and time (UTC) for the event.\n"}},"type":"object","required":["code","description","notAfter","notBefore"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmTag:getVmTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmTypesFilter:getVmTypesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVmTypesVmType:getVmTypesVmType":{"properties":{"bsuOptimized":{"type":"boolean","description":"This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.\n"},"maxPrivateIps":{"type":"number","description":"The maximum number of private IPs per network interface card (NIC).\n"},"memorySize":{"type":"number","description":"The amount of memory, in gibibytes.\n"},"vcoreCount":{"type":"number","description":"The number of vCores.\n"},"vmTypeName":{"type":"string","description":"The name of the VM type.\n"},"volumeCount":{"type":"number","description":"The maximum number of ephemeral storage disks.\n"},"volumeSize":{"type":"number","description":"The size of one ephemeral storage disk, in gibibytes (GiB).\n"}},"type":"object","required":["bsuOptimized","maxPrivateIps","memorySize","vcoreCount","vmTypeName","volumeCount","volumeSize"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsFilter:getVmsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVmsVm:getVmsVm":{"properties":{"actionsOnNextBoots":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmActionsOnNextBoot:getVmsVmActionsOnNextBoot"},"description":"The action to perform on the next boot of the VM.\n"},"architecture":{"type":"string","description":"The architecture of the VM (\u003cspan pulumi-lang-nodejs=\"`i386`\" pulumi-lang-dotnet=\"`I386`\" pulumi-lang-go=\"`i386`\" pulumi-lang-python=\"`i386`\" pulumi-lang-yaml=\"`i386`\" pulumi-lang-java=\"`i386`\"\u003e`i386`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\"\u003e`x86_64`\u003c/span\u003e).\n"},"blockDeviceMappingsCreateds":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmBlockDeviceMappingsCreated:getVmsVmBlockDeviceMappingsCreated"},"description":"The block device mapping of the VM.\n"},"bootMode":{"type":"string","description":"The boot mode of the VM. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n"},"bsuOptimized":{"type":"boolean"},"clientToken":{"type":"string","description":"The idempotency token provided when launching the VM.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the VM was created.\n"},"deletionProtection":{"type":"boolean","description":"If true, you cannot delete the VM unless you change this parameter back to false.\n"},"hypervisor":{"type":"string","description":"The hypervisor type of the VMs (\u003cspan pulumi-lang-nodejs=\"`ovm`\" pulumi-lang-dotnet=\"`Ovm`\" pulumi-lang-go=\"`ovm`\" pulumi-lang-python=\"`ovm`\" pulumi-lang-yaml=\"`ovm`\" pulumi-lang-java=\"`ovm`\"\u003e`ovm`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`xen`\" pulumi-lang-dotnet=\"`Xen`\" pulumi-lang-go=\"`xen`\" pulumi-lang-python=\"`xen`\" pulumi-lang-yaml=\"`xen`\" pulumi-lang-java=\"`xen`\"\u003e`xen`\u003c/span\u003e).\n"},"imageId":{"type":"string","description":"The ID of the OMI used to create the VM.\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"keypairName":{"type":"string","description":"The name of the keypair used when launching the VM.\n"},"launchNumber":{"type":"number","description":"The number for the VM when launching a group of several VMs (for example, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and so on).\n"},"nestedVirtualization":{"type":"boolean","description":"If true, nested virtualization is enabled. If false, it is disabled.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmNic:getVmsVmNic"},"description":"(Net only) The network interface cards (NICs) the VMs are attached to.\n"},"osFamily":{"type":"string","description":"Indicates the operating system (OS) of the VM.\n"},"performance":{"type":"string","description":"The performance of the VM (\u003cspan pulumi-lang-nodejs=\"`medium`\" pulumi-lang-dotnet=\"`Medium`\" pulumi-lang-go=\"`medium`\" pulumi-lang-python=\"`medium`\" pulumi-lang-yaml=\"`medium`\" pulumi-lang-java=\"`medium`\"\u003e`medium`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e \\|  \u003cspan pulumi-lang-nodejs=\"`highest`\" pulumi-lang-dotnet=\"`Highest`\" pulumi-lang-go=\"`highest`\" pulumi-lang-python=\"`highest`\" pulumi-lang-yaml=\"`highest`\" pulumi-lang-java=\"`highest`\"\u003e`highest`\u003c/span\u003e).\n"},"placementSubregionName":{"type":"string"},"placementTenancy":{"type":"string"},"primaryNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmPrimaryNic:getVmsVmPrimaryNic"}},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The primary private IP of the VM.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"The private IP or IPs of the NIC.\n"},"productCodes":{"type":"array","items":{"type":"string"},"description":"The product codes associated with the OMI used to create the VM.\n"},"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"requestId":{"type":"string"},"reservationId":{"type":"string","description":"The reservation ID of the VM.\n"},"rootDeviceName":{"type":"string","description":"The name of the root device for the VM (for example, `/dev/sda1`).\n"},"rootDeviceType":{"type":"string","description":"The type of root device used by the VM (always \u003cspan pulumi-lang-nodejs=\"`bsu`\" pulumi-lang-dotnet=\"`Bsu`\" pulumi-lang-go=\"`bsu`\" pulumi-lang-python=\"`bsu`\" pulumi-lang-yaml=\"`bsu`\" pulumi-lang-java=\"`bsu`\"\u003e`bsu`\u003c/span\u003e).\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the security groups for the VMs (only in the public Cloud).\n"},"securityGroupNames":{"type":"array","items":{"type":"string"},"description":"The names of the security groups for the VMs (only in the public Cloud).\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmSecurityGroup:getVmsVmSecurityGroup"},"description":"One or more security groups associated with the VM.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"},"stateReason":{"type":"string","description":"The reason explaining the current state of the VM.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet for the VM.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmTag:getVmsVmTag"},"description":"One or more tags associated with the VM.\n"},"tpmEnabled":{"type":"boolean","description":"If true, a virtual Trusted Platform Module (vTPM) is enabled on the VM. If false, it is not.\u003cbr /\u003eThe default behavior for \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e varies depending on the source OMI of the VM.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is true, a vTPM has to be attached to the VM and it will be created by default. Setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to false will cause the creation request to fail.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is false, only setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to true will create and attach a vTPM to the VM.\n"},"userData":{"type":"string","description":"The Base64-encoded MIME user data.\n"},"vmId":{"type":"string","description":"The ID of the VM.\n"},"vmInitiatedShutdownBehavior":{"type":"string","description":"The VM behavior when you stop it. If set to \u003cspan pulumi-lang-nodejs=\"`stop`\" pulumi-lang-dotnet=\"`Stop`\" pulumi-lang-go=\"`stop`\" pulumi-lang-python=\"`stop`\" pulumi-lang-yaml=\"`stop`\" pulumi-lang-java=\"`stop`\"\u003e`stop`\u003c/span\u003e, the VM stops. If set to \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e, the VM stops then automatically restarts. If set to \u003cspan pulumi-lang-nodejs=\"`terminate`\" pulumi-lang-dotnet=\"`Terminate`\" pulumi-lang-go=\"`terminate`\" pulumi-lang-python=\"`terminate`\" pulumi-lang-yaml=\"`terminate`\" pulumi-lang-java=\"`terminate`\"\u003e`terminate`\u003c/span\u003e, the VM stops and is deleted.\n"},"vmType":{"type":"string","description":"The type of VM. For more information, see [VM Types](https://docs.outscale.com/en/userguide/VM-Types.html).\n"}},"type":"object","required":["actionsOnNextBoots","architecture","blockDeviceMappingsCreateds","bootMode","bsuOptimized","clientToken","creationDate","deletionProtection","hypervisor","imageId","isSourceDestChecked","keypairName","launchNumber","nestedVirtualization","netId","nics","osFamily","performance","placementSubregionName","placementTenancy","primaryNics","privateDnsName","privateIp","privateIps","productCodes","publicDnsName","publicIp","requestId","reservationId","rootDeviceName","rootDeviceType","securityGroupIds","securityGroupNames","securityGroups","state","stateReason","subnetId","tags","tpmEnabled","userData","vmId","vmInitiatedShutdownBehavior","vmType"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmActionsOnNextBoot:getVmsVmActionsOnNextBoot":{"properties":{"secureBoot":{"type":"string","description":"One action to perform on the next boot of the VM. For more information, see [About Secure Boot](https://docs.outscale.com/en/userguide/About-Secure-Boot.html#_secure_boot_actions).\n"}},"type":"object","required":["secureBoot"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmBlockDeviceMappingsCreated:getVmsVmBlockDeviceMappingsCreated":{"properties":{"bsus":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmBlockDeviceMappingsCreatedBsus:getVmsVmBlockDeviceMappingsCreatedBsus"},"description":"Information about the created BSU volume.\n"},"deviceName":{"type":"string","description":"The name of the device.\n"}},"type":"object","required":["bsus","deviceName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmBlockDeviceMappingsCreatedBsus:getVmsVmBlockDeviceMappingsCreatedBsus":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"linkDate":{"type":"string","description":"The date and time (UTC) at which the volume was attached to the VM, in ISO 8601 date-time format.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmBlockDeviceMappingsCreatedBsusTag:getVmsVmBlockDeviceMappingsCreatedBsusTag"},"description":"One or more tags associated with the VM.\n"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object","required":["deleteOnVmDeletion","linkDate","state","tags","volumeId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmBlockDeviceMappingsCreatedBsusTag:getVmsVmBlockDeviceMappingsCreatedBsusTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmNic:getVmsVmNic":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"description":{"type":"string","description":"The description of the NIC.\n"},"deviceNumber":{"type":"number","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"linkNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmNicLinkNic:getVmsVmNicLinkNic"},"description":"Information about the network interface card (NIC).\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmNicLinkPublicIp:getVmsVmNicLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmNicPrivateIp:getVmsVmNicPrivateIp"},"description":"The private IP or IPs of the NIC.\n"},"secondaryPrivateIpCount":{"type":"number"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the security groups for the VMs (only in the public Cloud).\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmNicSecurityGroup:getVmsVmNicSecurityGroup"},"description":"One or more security groups associated with the VM.\n"},"securityGroupsNames":{"type":"array","items":{"type":"string"}},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet for the VM.\n"}},"type":"object","required":["accountId","deleteOnVmDeletion","description","deviceNumber","isSourceDestChecked","linkNics","linkPublicIps","macAddress","netId","nicId","privateDnsName","privateIps","secondaryPrivateIpCount","securityGroupIds","securityGroups","securityGroupsNames","state","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmNicLinkNic:getVmsVmNicLinkNic":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"deviceNumber":{"type":"string","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","state"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmNicLinkPublicIp:getVmsVmNicLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmNicPrivateIp:getVmsVmNicPrivateIp":{"properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmNicPrivateIpLinkPublicIp:getVmsVmNicPrivateIpLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The primary private IP of the VM.\n"}},"type":"object","required":["isPrimary","linkPublicIps","privateDnsName","privateIp"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmNicPrivateIpLinkPublicIp:getVmsVmNicPrivateIpLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmNicSecurityGroup:getVmsVmNicSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmPrimaryNic:getVmsVmPrimaryNic":{"properties":{"accountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"description":{"type":"string","description":"The description of the NIC.\n"},"deviceNumber":{"type":"number","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"linkNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmPrimaryNicLinkNic:getVmsVmPrimaryNicLinkNic"},"description":"Information about the network interface card (NIC).\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmPrimaryNicLinkPublicIp:getVmsVmPrimaryNicLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmPrimaryNicPrivateIp:getVmsVmPrimaryNicPrivateIp"},"description":"The private IP or IPs of the NIC.\n"},"secondaryPrivateIpCount":{"type":"number"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the security groups for the VMs (only in the public Cloud).\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmPrimaryNicSecurityGroup:getVmsVmPrimaryNicSecurityGroup"},"description":"One or more security groups associated with the VM.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet for the VM.\n"}},"type":"object","required":["accountId","deleteOnVmDeletion","description","deviceNumber","isSourceDestChecked","linkNics","linkPublicIps","macAddress","netId","nicId","privateDnsName","privateIps","secondaryPrivateIpCount","securityGroupIds","securityGroups","state","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmPrimaryNicLinkNic:getVmsVmPrimaryNicLinkNic":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.\n"},"deviceNumber":{"type":"string","description":"The device index for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","state"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmPrimaryNicLinkPublicIp:getVmsVmPrimaryNicLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmPrimaryNicPrivateIp:getVmsVmPrimaryNicPrivateIp":{"properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsVmPrimaryNicPrivateIpLinkPublicIp:getVmsVmPrimaryNicPrivateIpLinkPublicIp"},"description":"Information about the public IP associated with the NIC.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The primary private IP of the VM.\n"}},"type":"object","required":["isPrimary","linkPublicIps","privateDnsName","privateIp"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmPrimaryNicPrivateIpLinkPublicIp:getVmsVmPrimaryNicPrivateIpLinkPublicIp":{"properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"publicIpAccountId":{"type":"string","description":"The account ID of the owner of the public IP.\n"}},"type":"object","required":["publicDnsName","publicIp","publicIpAccountId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmPrimaryNicSecurityGroup:getVmsVmPrimaryNicSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmSecurityGroup:getVmsVmSecurityGroup":{"properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object","required":["securityGroupId","securityGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVmsVmTag:getVmsVmTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVolumeFilter:getVolumeFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVolumeLinkedVolume:getVolumeLinkedVolume":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.\n"},"deviceName":{"type":"string","description":"The name of the device.\n"},"state":{"type":"string","description":"The state of the volume (\u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e).\n"},"vmId":{"type":"string","description":"The ID of the VM.\n"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceName","state","vmId","volumeId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVolumeTag:getVolumeTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVolumesFilter:getVolumesFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVolumesVolume:getVolumesVolume":{"properties":{"creationDate":{"type":"string","description":"The date and time (UTC) at which the volume was created.\n"},"iops":{"type":"number","description":"The number of I/O operations per second (IOPS):\u003cbr /\u003e- For \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volumes, the number of provisioned IOPS.\u003cbr /\u003e- For \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e volumes, the baseline performance of the volume.\n"},"linkedVolumes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVolumesVolumeLinkedVolume:getVolumesVolumeLinkedVolume"},"description":"Information about your volume attachment.\n"},"size":{"type":"number","description":"The size of the volume, in gibibytes (GiB).\n"},"snapshotId":{"type":"string","description":"The snapshot from which the volume was created.\n"},"state":{"type":"string","description":"The state of the volume (\u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e).\n"},"subregionName":{"type":"string","description":"The Subregion in which the volume was created.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVolumesVolumeTag:getVolumesVolumeTag"},"description":"One or more tags associated with the volume.\n"},"volumeId":{"type":"string","description":"The ID of the volume.\n"},"volumeType":{"type":"string","description":"The type of the volume (\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e).\n"}},"type":"object","required":["creationDate","iops","linkedVolumes","size","snapshotId","state","subregionName","tags","volumeId","volumeType"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVolumesVolumeLinkedVolume:getVolumesVolumeLinkedVolume":{"properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.\n"},"deviceName":{"type":"string","description":"The name of the device.\n"},"state":{"type":"string","description":"The state of the volume (\u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e).\n"},"vmId":{"type":"string","description":"The ID of the VM.\n"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceName","state","vmId","volumeId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVolumesVolumeTag:getVolumesVolumeTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVpnConnectionFilter:getVpnConnectionFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVpnConnectionRoute:getVpnConnectionRoute":{"properties":{"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"},"routeType":{"type":"string","description":"The type of route (always \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e).\n"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n"}},"type":"object","required":["destinationIpRange","routeType","state"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVpnConnectionTag:getVpnConnectionTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVpnConnectionVgwTelemetry:getVpnConnectionVgwTelemetry":{"properties":{"acceptedRouteCount":{"type":"number","description":"The number of routes accepted through BGP (Border Gateway Protocol) route exchanges.\n"},"lastStateChangeDate":{"type":"string","description":"The date and time (UTC) of the latest state update.\n"},"outsideIpAddress":{"type":"string","description":"The IP on the OUTSCALE side of the tunnel.\n"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n"},"stateDescription":{"type":"string","description":"A description of the current state of the tunnel.\n"}},"type":"object","required":["acceptedRouteCount","lastStateChangeDate","outsideIpAddress","state","stateDescription"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVpnConnectionsFilter:getVpnConnectionsFilter":{"properties":{"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","values"]},"outscale:index/getVpnConnectionsVpnConnection:getVpnConnectionsVpnConnection":{"properties":{"clientGatewayConfiguration":{"type":"string","description":"Example configuration for the client gateway.\n"},"clientGatewayId":{"type":"string","description":"The ID of the client gateway used on the client end of the connection.\n"},"connectionType":{"type":"string","description":"The type of VPN connection (always `ipsec.1`).\n"},"routes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionsVpnConnectionRoute:getVpnConnectionsVpnConnectionRoute"},"description":"Information about one or more static routes associated with the VPN connection, if any.\n"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n"},"staticRoutesOnly":{"type":"boolean","description":"If false, the VPN connection uses dynamic routing with Border Gateway Protocol (BGP). If true, routing is controlled using static routes. For more information about how to create and delete static routes, see [CreateVpnConnectionRoute](https://docs.outscale.com/api#createvpnconnectionroute) and [DeleteVpnConnectionRoute](https://docs.outscale.com/api#deletevpnconnectionroute).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionsVpnConnectionTag:getVpnConnectionsVpnConnectionTag"},"description":"One or more tags associated with the VPN connection.\n"},"vgwTelemetries":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionsVpnConnectionVgwTelemetry:getVpnConnectionsVpnConnectionVgwTelemetry"},"description":"Information about the current state of one or more of the VPN tunnels.\n"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway used on the OUTSCALE end of the connection.\n"},"vpnConnectionId":{"type":"string","description":"The ID of the VPN connection.\n"}},"type":"object","required":["clientGatewayConfiguration","clientGatewayId","connectionType","routes","state","staticRoutesOnly","tags","vgwTelemetries","virtualGatewayId","vpnConnectionId"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVpnConnectionsVpnConnectionRoute:getVpnConnectionsVpnConnectionRoute":{"properties":{"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"},"routeType":{"type":"string","description":"The type of route (always \u003cspan pulumi-lang-nodejs=\"`static`\" pulumi-lang-dotnet=\"`Static`\" pulumi-lang-go=\"`static`\" pulumi-lang-python=\"`static`\" pulumi-lang-yaml=\"`static`\" pulumi-lang-java=\"`static`\"\u003e`static`\u003c/span\u003e).\n"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n"}},"type":"object","required":["destinationIpRange","routeType","state"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVpnConnectionsVpnConnectionTag:getVpnConnectionsVpnConnectionTag":{"properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.\n"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"outscale:index/getVpnConnectionsVpnConnectionVgwTelemetry:getVpnConnectionsVpnConnectionVgwTelemetry":{"properties":{"acceptedRouteCount":{"type":"number","description":"The number of routes accepted through BGP (Border Gateway Protocol) route exchanges.\n"},"lastStateChangeDate":{"type":"string","description":"The date and time (UTC) of the latest state update.\n"},"outsideIpAddress":{"type":"string","description":"The IP on the OUTSCALE side of the tunnel.\n"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n"},"stateDescription":{"type":"string","description":"A description of the current state of the tunnel.\n"}},"type":"object","required":["acceptedRouteCount","lastStateChangeDate","outsideIpAddress","state","stateDescription"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the outscale 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":{"accessKeyId":{"type":"string","description":"The Access Key ID for API operations."},"configFile":{"type":"string","description":"Path to the configuration file in which you have defined your credentials."},"profile":{"type":"string","description":"Name of your profile in which you define your credencial"},"region":{"type":"string","description":"The Region for API operations.","deprecationMessage":"Deprecated"},"secretKeyId":{"type":"string","description":"The Secret Key ID for API operations."},"x509CertPath":{"type":"string","description":"Path to the x509 certificate for IaaS API operations.","deprecationMessage":"Deprecated"},"x509KeyPath":{"type":"string","description":"Path to the x509 key for IaaS API operations.","deprecationMessage":"Deprecated"}},"type":"object","inputProperties":{"accessKeyId":{"type":"string","description":"The Access Key ID for API operations."},"api":{"$ref":"#/types/outscale:index%2FProviderApi:ProviderApi"},"configFile":{"type":"string","description":"Path to the configuration file in which you have defined your credentials."},"endpoints":{"type":"array","items":{"$ref":"#/types/outscale:index%2FProviderEndpoint:ProviderEndpoint"},"deprecationMessage":"Deprecated"},"insecure":{"type":"boolean","description":"TLS insecure connection for IaaS API operations.","deprecationMessage":"Deprecated"},"oks":{"$ref":"#/types/outscale:index%2FProviderOks:ProviderOks"},"profile":{"type":"string","description":"Name of your profile in which you define your credencial"},"region":{"type":"string","description":"The Region for API operations.","deprecationMessage":"Deprecated"},"secretKeyId":{"type":"string","description":"The Secret Key ID for API operations."},"x509CertPath":{"type":"string","description":"Path to the x509 certificate for IaaS API operations.","deprecationMessage":"Deprecated"},"x509KeyPath":{"type":"string","description":"Path to the x509 key for IaaS API operations.","deprecationMessage":"Deprecated"}},"methods":{"terraformConfig":"pulumi:providers:outscale/terraformConfig"}},"resources":{"outscale:index/accessKey:AccessKey":{"description":"## Example Usage\n\n### Creating an access key for yourself\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst accessKey01 = new outscale.AccessKey(\"access_key01\", {\n    state: \"ACTIVE\",\n    expirationDate: \"2028-01-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\naccess_key01 = outscale.AccessKey(\"access_key01\",\n    state=\"ACTIVE\",\n    expiration_date=\"2028-01-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var accessKey01 = new Outscale.AccessKey(\"access_key01\", new()\n    {\n        State = \"ACTIVE\",\n        ExpirationDate = \"2028-01-01\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewAccessKey(ctx, \"access_key01\", \u0026outscale.AccessKeyArgs{\n\t\t\tState:          pulumi.String(\"ACTIVE\"),\n\t\t\tExpirationDate: pulumi.String(\"2028-01-01\"),\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.outscale.AccessKey;\nimport com.pulumi.outscale.AccessKeyArgs;\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        var accessKey01 = new AccessKey(\"accessKey01\", AccessKeyArgs.builder()\n            .state(\"ACTIVE\")\n            .expirationDate(\"2028-01-01\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  accessKey01:\n    type: outscale:AccessKey\n    name: access_key01\n    properties:\n      state: ACTIVE\n      expirationDate: 2028-01-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating an access key for another user\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst accessKeyEim01 = new outscale.AccessKey(\"access_key_eim01\", {\n    userName: user_1.userName,\n    state: \"ACTIVE\",\n    expirationDate: \"2028-01-01\",\n}, {\n    dependsOn: [user_1],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\naccess_key_eim01 = outscale.AccessKey(\"access_key_eim01\",\n    user_name=user_1[\"userName\"],\n    state=\"ACTIVE\",\n    expiration_date=\"2028-01-01\",\n    opts = pulumi.ResourceOptions(depends_on=[user_1]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var accessKeyEim01 = new Outscale.AccessKey(\"access_key_eim01\", new()\n    {\n        UserName = user_1.UserName,\n        State = \"ACTIVE\",\n        ExpirationDate = \"2028-01-01\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            user_1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewAccessKey(ctx, \"access_key_eim01\", \u0026outscale.AccessKeyArgs{\n\t\t\tUserName:       pulumi.Any(user_1.UserName),\n\t\t\tState:          pulumi.String(\"ACTIVE\"),\n\t\t\tExpirationDate: pulumi.String(\"2028-01-01\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tuser_1,\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.outscale.AccessKey;\nimport com.pulumi.outscale.AccessKeyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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        var accessKeyEim01 = new AccessKey(\"accessKeyEim01\", AccessKeyArgs.builder()\n            .userName(user_1.userName())\n            .state(\"ACTIVE\")\n            .expirationDate(\"2028-01-01\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(user_1)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  accessKeyEim01:\n    type: outscale:AccessKey\n    name: access_key_eim01\n    properties:\n      userName: ${[\"user-1\"].userName}\n      state: ACTIVE\n      expirationDate: 2028-01-01\n    options:\n      dependsOn:\n        - ${[\"user-1\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn access key can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/accessKey:AccessKey ImportedAccessKey ABCDEFGHIJ0123456789\n```\n\n","properties":{"accessKeyId":{"type":"string","description":"The ID of the access key.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the access key was created.\n"},"expirationDate":{"type":"string","description":"The date and time, or the date, at which you want the access key to expire, in ISO 8601 format (for example, `2020-06-14T00:00:00.000Z`, or `2020-06-14`). To remove an existing expiration date, use the method without specifying this parameter.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) at which the access key was last modified.\n"},"requestId":{"type":"string"},"secretKey":{"type":"string","description":"The secret key that enables you to send requests.\n"},"state":{"type":"string","description":"The state for the access key (`ACTIVE` | `INACTIVE`).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FAccessKeyTimeouts:AccessKeyTimeouts"},"userName":{"type":"string","description":"The name of the EIM user that owns the key to be created. If you do not specify a user name, this action creates an access key for the user who sends the request (which can be the root account).\n"}},"type":"object","required":["accessKeyId","creationDate","expirationDate","lastModificationDate","requestId","secretKey","state"],"inputProperties":{"expirationDate":{"type":"string","description":"The date and time, or the date, at which you want the access key to expire, in ISO 8601 format (for example, `2020-06-14T00:00:00.000Z`, or `2020-06-14`). To remove an existing expiration date, use the method without specifying this parameter.\n"},"state":{"type":"string","description":"The state for the access key (`ACTIVE` | `INACTIVE`).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FAccessKeyTimeouts:AccessKeyTimeouts"},"userName":{"type":"string","description":"The name of the EIM user that owns the key to be created. If you do not specify a user name, this action creates an access key for the user who sends the request (which can be the root account).\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering AccessKey resources.\n","properties":{"accessKeyId":{"type":"string","description":"The ID of the access key.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the access key was created.\n"},"expirationDate":{"type":"string","description":"The date and time, or the date, at which you want the access key to expire, in ISO 8601 format (for example, `2020-06-14T00:00:00.000Z`, or `2020-06-14`). To remove an existing expiration date, use the method without specifying this parameter.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) at which the access key was last modified.\n"},"requestId":{"type":"string"},"secretKey":{"type":"string","description":"The secret key that enables you to send requests.\n"},"state":{"type":"string","description":"The state for the access key (`ACTIVE` | `INACTIVE`).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FAccessKeyTimeouts:AccessKeyTimeouts"},"userName":{"type":"string","description":"The name of the EIM user that owns the key to be created. If you do not specify a user name, this action creates an access key for the user who sends the request (which can be the root account).\n"}},"type":"object"}},"outscale:index/apiAccessPolicy:ApiAccessPolicy":{"description":"Manages the API access policy.\n\nTo activate a trusted session, first you must:\n* Set expiration dates to all your access keys.\n* Specify a Certificate Authority (CA) in all your API access rules.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Your-API-Access-Policy.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-apiaccesspolicy).\n\n## Example Usage\n\n### Require expiration dates for your access keys\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst unique = new outscale.ApiAccessPolicy(\"unique\", {\n    maxAccessKeyExpirationSeconds: 31536000,\n    requireTrustedEnv: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nunique = outscale.ApiAccessPolicy(\"unique\",\n    max_access_key_expiration_seconds=31536000,\n    require_trusted_env=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var unique = new Outscale.ApiAccessPolicy(\"unique\", new()\n    {\n        MaxAccessKeyExpirationSeconds = 31536000,\n        RequireTrustedEnv = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewApiAccessPolicy(ctx, \"unique\", \u0026outscale.ApiAccessPolicyArgs{\n\t\t\tMaxAccessKeyExpirationSeconds: pulumi.Float64(31536000),\n\t\t\tRequireTrustedEnv:             pulumi.Bool(false),\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.outscale.ApiAccessPolicy;\nimport com.pulumi.outscale.ApiAccessPolicyArgs;\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        var unique = new ApiAccessPolicy(\"unique\", ApiAccessPolicyArgs.builder()\n            .maxAccessKeyExpirationSeconds(31536000.0)\n            .requireTrustedEnv(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  unique:\n    type: outscale:ApiAccessPolicy\n    properties:\n      maxAccessKeyExpirationSeconds: 3.1536e+07 # 1 year\n      requireTrustedEnv: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Activate a trusted session\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst unique = new outscale.ApiAccessPolicy(\"unique\", {\n    maxAccessKeyExpirationSeconds: 3153600000,\n    requireTrustedEnv: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nunique = outscale.ApiAccessPolicy(\"unique\",\n    max_access_key_expiration_seconds=3153600000,\n    require_trusted_env=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var unique = new Outscale.ApiAccessPolicy(\"unique\", new()\n    {\n        MaxAccessKeyExpirationSeconds = 3153600000,\n        RequireTrustedEnv = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewApiAccessPolicy(ctx, \"unique\", \u0026outscale.ApiAccessPolicyArgs{\n\t\t\tMaxAccessKeyExpirationSeconds: pulumi.Float64(3153600000),\n\t\t\tRequireTrustedEnv:             pulumi.Bool(true),\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.outscale.ApiAccessPolicy;\nimport com.pulumi.outscale.ApiAccessPolicyArgs;\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        var unique = new ApiAccessPolicy(\"unique\", ApiAccessPolicyArgs.builder()\n            .maxAccessKeyExpirationSeconds(3153600000.0)\n            .requireTrustedEnv(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  unique:\n    type: outscale:ApiAccessPolicy\n    properties:\n      maxAccessKeyExpirationSeconds: 3.1536e+09 # 100 years\n      requireTrustedEnv: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Deactivate a trusted session\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst unique = new outscale.ApiAccessPolicy(\"unique\", {\n    maxAccessKeyExpirationSeconds: 0,\n    requireTrustedEnv: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nunique = outscale.ApiAccessPolicy(\"unique\",\n    max_access_key_expiration_seconds=0,\n    require_trusted_env=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var unique = new Outscale.ApiAccessPolicy(\"unique\", new()\n    {\n        MaxAccessKeyExpirationSeconds = 0,\n        RequireTrustedEnv = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewApiAccessPolicy(ctx, \"unique\", \u0026outscale.ApiAccessPolicyArgs{\n\t\t\tMaxAccessKeyExpirationSeconds: pulumi.Float64(0),\n\t\t\tRequireTrustedEnv:             pulumi.Bool(false),\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.outscale.ApiAccessPolicy;\nimport com.pulumi.outscale.ApiAccessPolicyArgs;\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        var unique = new ApiAccessPolicy(\"unique\", ApiAccessPolicyArgs.builder()\n            .maxAccessKeyExpirationSeconds(0.0)\n            .requireTrustedEnv(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  unique:\n    type: outscale:ApiAccessPolicy\n    properties:\n      maxAccessKeyExpirationSeconds: 0\n      requireTrustedEnv: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"maxAccessKeyExpirationSeconds":{"type":"number","description":"The maximum possible lifetime for your access keys, in seconds (between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3153600000`\" pulumi-lang-dotnet=\"`3153600000`\" pulumi-lang-go=\"`3153600000`\" pulumi-lang-python=\"`3153600000`\" pulumi-lang-yaml=\"`3153600000`\" pulumi-lang-java=\"`3153600000`\"\u003e`3153600000`\u003c/span\u003e, both included). If set to `O`, your access keys can have unlimited lifetimes, but a trusted session cannot be activated. Otherwise, all your access keys must have an expiration date. This value must be greater than the remaining lifetime of each access key of your account.\n"},"requestId":{"type":"string"},"requireTrustedEnv":{"type":"boolean","description":"If true, a trusted session is activated, provided that you specify the \u003cspan pulumi-lang-nodejs=\"`maxAccessKeyExpirationSeconds`\" pulumi-lang-dotnet=\"`MaxAccessKeyExpirationSeconds`\" pulumi-lang-go=\"`maxAccessKeyExpirationSeconds`\" pulumi-lang-python=\"`max_access_key_expiration_seconds`\" pulumi-lang-yaml=\"`maxAccessKeyExpirationSeconds`\" pulumi-lang-java=\"`maxAccessKeyExpirationSeconds`\"\u003e`max_access_key_expiration_seconds`\u003c/span\u003e parameter with a value greater than \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\u003cbr /\u003e\nEnabling this will require you and all your users to log in to Cockpit v2 using the WebAuthn method for multi-factor authentication. For more information, see [About Authentication \u003e Multi-Factor Authentication](https://docs.outscale.com/en/userguide/About-Authentication.html#_multi_factor_authentication).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FApiAccessPolicyTimeouts:ApiAccessPolicyTimeouts"}},"type":"object","required":["maxAccessKeyExpirationSeconds","requestId","requireTrustedEnv"],"inputProperties":{"maxAccessKeyExpirationSeconds":{"type":"number","description":"The maximum possible lifetime for your access keys, in seconds (between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3153600000`\" pulumi-lang-dotnet=\"`3153600000`\" pulumi-lang-go=\"`3153600000`\" pulumi-lang-python=\"`3153600000`\" pulumi-lang-yaml=\"`3153600000`\" pulumi-lang-java=\"`3153600000`\"\u003e`3153600000`\u003c/span\u003e, both included). If set to `O`, your access keys can have unlimited lifetimes, but a trusted session cannot be activated. Otherwise, all your access keys must have an expiration date. This value must be greater than the remaining lifetime of each access key of your account.\n"},"requireTrustedEnv":{"type":"boolean","description":"If true, a trusted session is activated, provided that you specify the \u003cspan pulumi-lang-nodejs=\"`maxAccessKeyExpirationSeconds`\" pulumi-lang-dotnet=\"`MaxAccessKeyExpirationSeconds`\" pulumi-lang-go=\"`maxAccessKeyExpirationSeconds`\" pulumi-lang-python=\"`max_access_key_expiration_seconds`\" pulumi-lang-yaml=\"`maxAccessKeyExpirationSeconds`\" pulumi-lang-java=\"`maxAccessKeyExpirationSeconds`\"\u003e`max_access_key_expiration_seconds`\u003c/span\u003e parameter with a value greater than \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\u003cbr /\u003e\nEnabling this will require you and all your users to log in to Cockpit v2 using the WebAuthn method for multi-factor authentication. For more information, see [About Authentication \u003e Multi-Factor Authentication](https://docs.outscale.com/en/userguide/About-Authentication.html#_multi_factor_authentication).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FApiAccessPolicyTimeouts:ApiAccessPolicyTimeouts"}},"requiredInputs":["maxAccessKeyExpirationSeconds","requireTrustedEnv"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiAccessPolicy resources.\n","properties":{"maxAccessKeyExpirationSeconds":{"type":"number","description":"The maximum possible lifetime for your access keys, in seconds (between \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3153600000`\" pulumi-lang-dotnet=\"`3153600000`\" pulumi-lang-go=\"`3153600000`\" pulumi-lang-python=\"`3153600000`\" pulumi-lang-yaml=\"`3153600000`\" pulumi-lang-java=\"`3153600000`\"\u003e`3153600000`\u003c/span\u003e, both included). If set to `O`, your access keys can have unlimited lifetimes, but a trusted session cannot be activated. Otherwise, all your access keys must have an expiration date. This value must be greater than the remaining lifetime of each access key of your account.\n"},"requestId":{"type":"string"},"requireTrustedEnv":{"type":"boolean","description":"If true, a trusted session is activated, provided that you specify the \u003cspan pulumi-lang-nodejs=\"`maxAccessKeyExpirationSeconds`\" pulumi-lang-dotnet=\"`MaxAccessKeyExpirationSeconds`\" pulumi-lang-go=\"`maxAccessKeyExpirationSeconds`\" pulumi-lang-python=\"`max_access_key_expiration_seconds`\" pulumi-lang-yaml=\"`maxAccessKeyExpirationSeconds`\" pulumi-lang-java=\"`maxAccessKeyExpirationSeconds`\"\u003e`max_access_key_expiration_seconds`\u003c/span\u003e parameter with a value greater than \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\u003cbr /\u003e\nEnabling this will require you and all your users to log in to Cockpit v2 using the WebAuthn method for multi-factor authentication. For more information, see [About Authentication \u003e Multi-Factor Authentication](https://docs.outscale.com/en/userguide/About-Authentication.html#_multi_factor_authentication).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FApiAccessPolicyTimeouts:ApiAccessPolicyTimeouts"}},"type":"object"}},"outscale:index/apiAccessRule:ApiAccessRule":{"description":"Manages an API access rule.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-API-Access-Rules.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-apiaccessrule).\n\n## Example Usage\n\n### Create an API access rule based on IPs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst apiAccessRule01 = new outscale.ApiAccessRule(\"api_access_rule01\", {\n    ipRanges: [\n        \"192.0.2.0\",\n        \"192.0.2.0/16\",\n    ],\n    description: \"Basic API Access Rule from Terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\napi_access_rule01 = outscale.ApiAccessRule(\"api_access_rule01\",\n    ip_ranges=[\n        \"192.0.2.0\",\n        \"192.0.2.0/16\",\n    ],\n    description=\"Basic API Access Rule from Terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var apiAccessRule01 = new Outscale.ApiAccessRule(\"api_access_rule01\", new()\n    {\n        IpRanges = new[]\n        {\n            \"192.0.2.0\",\n            \"192.0.2.0/16\",\n        },\n        Description = \"Basic API Access Rule from Terraform\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewApiAccessRule(ctx, \"api_access_rule01\", \u0026outscale.ApiAccessRuleArgs{\n\t\t\tIpRanges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.0.2.0\"),\n\t\t\t\tpulumi.String(\"192.0.2.0/16\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Basic API Access Rule from Terraform\"),\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.outscale.ApiAccessRule;\nimport com.pulumi.outscale.ApiAccessRuleArgs;\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        var apiAccessRule01 = new ApiAccessRule(\"apiAccessRule01\", ApiAccessRuleArgs.builder()\n            .ipRanges(            \n                \"192.0.2.0\",\n                \"192.0.2.0/16\")\n            .description(\"Basic API Access Rule from Terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  apiAccessRule01:\n    type: outscale:ApiAccessRule\n    name: api_access_rule01\n    properties:\n      ipRanges:\n        - 192.0.2.0\n        - 192.0.2.0/16\n      description: Basic API Access Rule from Terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn API access rule can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/apiAccessRule:ApiAccessRule ImportedAPIAccessRule \"aar-12345678\"\n```\n\n","properties":{"apiAccessRuleId":{"type":"string","description":"The ID of the API access rule.\n"},"caIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of Client Certificate Authorities (CAs).\n"},"cns":{"type":"array","items":{"type":"string"},"description":"One or more Client Certificate Common Names (CNs). If this parameter is specified, you must also specify the \u003cspan pulumi-lang-nodejs=\"`caIds`\" pulumi-lang-dotnet=\"`CaIds`\" pulumi-lang-go=\"`caIds`\" pulumi-lang-python=\"`ca_ids`\" pulumi-lang-yaml=\"`caIds`\" pulumi-lang-java=\"`caIds`\"\u003e`ca_ids`\u003c/span\u003e parameter.\n"},"description":{"type":"string","description":"A description for the API access rule.\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FApiAccessRuleTimeouts:ApiAccessRuleTimeouts"}},"type":"object","required":["apiAccessRuleId","caIds","cns","description","ipRanges","requestId"],"inputProperties":{"caIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of Client Certificate Authorities (CAs).\n"},"cns":{"type":"array","items":{"type":"string"},"description":"One or more Client Certificate Common Names (CNs). If this parameter is specified, you must also specify the \u003cspan pulumi-lang-nodejs=\"`caIds`\" pulumi-lang-dotnet=\"`CaIds`\" pulumi-lang-go=\"`caIds`\" pulumi-lang-python=\"`ca_ids`\" pulumi-lang-yaml=\"`caIds`\" pulumi-lang-java=\"`caIds`\"\u003e`ca_ids`\u003c/span\u003e parameter.\n"},"description":{"type":"string","description":"A description for the API access rule.\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FApiAccessRuleTimeouts:ApiAccessRuleTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering ApiAccessRule resources.\n","properties":{"apiAccessRuleId":{"type":"string","description":"The ID of the API access rule.\n"},"caIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of Client Certificate Authorities (CAs).\n"},"cns":{"type":"array","items":{"type":"string"},"description":"One or more Client Certificate Common Names (CNs). If this parameter is specified, you must also specify the \u003cspan pulumi-lang-nodejs=\"`caIds`\" pulumi-lang-dotnet=\"`CaIds`\" pulumi-lang-go=\"`caIds`\" pulumi-lang-python=\"`ca_ids`\" pulumi-lang-yaml=\"`caIds`\" pulumi-lang-java=\"`caIds`\"\u003e`ca_ids`\u003c/span\u003e parameter.\n"},"description":{"type":"string","description":"A description for the API access rule.\n"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FApiAccessRuleTimeouts:ApiAccessRuleTimeouts"}},"type":"object"}},"outscale:index/ca:Ca":{"description":"Manages a Certificate Authority (CA).\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-API-Access-Rules.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-ca).\n\n## Import\n\nA CA can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/ca:Ca ImportedCa ca-12345678\n```\n\n","properties":{"caFingerprint":{"type":"string","description":"The fingerprint of the CA.\n"},"caId":{"type":"string","description":"The ID of the CA.\n"},"caPem":{"type":"string","description":"The CA in PEM format.\n"},"description":{"type":"string","description":"The description of the CA.\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FCaTimeouts:CaTimeouts"}},"type":"object","required":["caFingerprint","caId","caPem","description","requestId"],"inputProperties":{"caPem":{"type":"string","description":"The CA in PEM format.\n"},"description":{"type":"string","description":"The description of the CA.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FCaTimeouts:CaTimeouts"}},"requiredInputs":["caPem"],"stateInputs":{"description":"Input properties used for looking up and filtering Ca resources.\n","properties":{"caFingerprint":{"type":"string","description":"The fingerprint of the CA.\n"},"caId":{"type":"string","description":"The ID of the CA.\n"},"caPem":{"type":"string","description":"The CA in PEM format.\n"},"description":{"type":"string","description":"The description of the CA.\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FCaTimeouts:CaTimeouts"}},"type":"object"}},"outscale:index/clientGateway:ClientGateway":{"description":"Manages a client gateway.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Client-Gateways.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-clientgateway).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst clientGateway01 = new outscale.ClientGateway(\"client_gateway01\", {\n    bgpAsn: 65000,\n    publicIp: \"111.11.11.111\",\n    connectionType: \"ipsec.1\",\n    tags: [{\n        key: \"Name\",\n        value: \"client_gateway_01\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nclient_gateway01 = outscale.ClientGateway(\"client_gateway01\",\n    bgp_asn=65000,\n    public_ip=\"111.11.11.111\",\n    connection_type=\"ipsec.1\",\n    tags=[{\n        \"key\": \"Name\",\n        \"value\": \"client_gateway_01\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clientGateway01 = new Outscale.ClientGateway(\"client_gateway01\", new()\n    {\n        BgpAsn = 65000,\n        PublicIp = \"111.11.11.111\",\n        ConnectionType = \"ipsec.1\",\n        Tags = new[]\n        {\n            new Outscale.Inputs.ClientGatewayTagArgs\n            {\n                Key = \"Name\",\n                Value = \"client_gateway_01\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewClientGateway(ctx, \"client_gateway01\", \u0026outscale.ClientGatewayArgs{\n\t\t\tBgpAsn:         pulumi.Float64(65000),\n\t\t\tPublicIp:       pulumi.String(\"111.11.11.111\"),\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: outscale.ClientGatewayTagArray{\n\t\t\t\t\u0026outscale.ClientGatewayTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"client_gateway_01\"),\n\t\t\t\t},\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.outscale.ClientGateway;\nimport com.pulumi.outscale.ClientGatewayArgs;\nimport com.pulumi.outscale.inputs.ClientGatewayTagArgs;\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        var clientGateway01 = new ClientGateway(\"clientGateway01\", ClientGatewayArgs.builder()\n            .bgpAsn(65000.0)\n            .publicIp(\"111.11.11.111\")\n            .connectionType(\"ipsec.1\")\n            .tags(ClientGatewayTagArgs.builder()\n                .key(\"Name\")\n                .value(\"client_gateway_01\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  clientGateway01:\n    type: outscale:ClientGateway\n    name: client_gateway01\n    properties:\n      bgpAsn: 65000\n      publicIp: 111.11.11.111\n      connectionType: ipsec.1\n      tags:\n        - key: Name\n          value: client_gateway_01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA client gateway can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/clientGateway:ClientGateway ImportedClientGateway cgw-12345678\n```\n\n","properties":{"bgpAsn":{"type":"number","description":"The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet. \u003cbr/\u003e\nThis number must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4294967295`\" pulumi-lang-dotnet=\"`4294967295`\" pulumi-lang-go=\"`4294967295`\" pulumi-lang-python=\"`4294967295`\" pulumi-lang-yaml=\"`4294967295`\" pulumi-lang-java=\"`4294967295`\"\u003e`4294967295`\u003c/span\u003e, except \u003cspan pulumi-lang-nodejs=\"`50624`\" pulumi-lang-dotnet=\"`50624`\" pulumi-lang-go=\"`50624`\" pulumi-lang-python=\"`50624`\" pulumi-lang-yaml=\"`50624`\" pulumi-lang-java=\"`50624`\"\u003e`50624`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`53306`\" pulumi-lang-dotnet=\"`53306`\" pulumi-lang-go=\"`53306`\" pulumi-lang-python=\"`53306`\" pulumi-lang-yaml=\"`53306`\" pulumi-lang-java=\"`53306`\"\u003e`53306`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`132418`\" pulumi-lang-dotnet=\"`132418`\" pulumi-lang-go=\"`132418`\" pulumi-lang-python=\"`132418`\" pulumi-lang-yaml=\"`132418`\" pulumi-lang-java=\"`132418`\"\u003e`132418`\u003c/span\u003e. \u003cbr/\u003e\nIf you do not have an ASN, you can choose one between \u003cspan pulumi-lang-nodejs=\"`64512`\" pulumi-lang-dotnet=\"`64512`\" pulumi-lang-go=\"`64512`\" pulumi-lang-python=\"`64512`\" pulumi-lang-yaml=\"`64512`\" pulumi-lang-java=\"`64512`\"\u003e`64512`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65534`\" pulumi-lang-dotnet=\"`65534`\" pulumi-lang-go=\"`65534`\" pulumi-lang-python=\"`65534`\" pulumi-lang-yaml=\"`65534`\" pulumi-lang-java=\"`65534`\"\u003e`65534`\u003c/span\u003e (both included), or between \u003cspan pulumi-lang-nodejs=\"`4200000000`\" pulumi-lang-dotnet=\"`4200000000`\" pulumi-lang-go=\"`4200000000`\" pulumi-lang-python=\"`4200000000`\" pulumi-lang-yaml=\"`4200000000`\" pulumi-lang-java=\"`4200000000`\"\u003e`4200000000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4294967295`\" pulumi-lang-dotnet=\"`4294967295`\" pulumi-lang-go=\"`4294967295`\" pulumi-lang-python=\"`4294967295`\" pulumi-lang-yaml=\"`4294967295`\" pulumi-lang-java=\"`4294967295`\"\u003e`4294967295`\u003c/span\u003e (both included).\n"},"clientGatewayId":{"type":"string","description":"The ID of the client gateway.\n"},"connectionType":{"type":"string","description":"The communication protocol used to establish tunnel with your client gateway (always `ipsec.1`).\n"},"outscaleClientGatewayId":{"type":"string"},"publicIp":{"type":"string","description":"The public fixed IPv4 address of your client gateway.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the client gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FClientGatewayTag:ClientGatewayTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FClientGatewayTimeouts:ClientGatewayTimeouts"}},"type":"object","required":["bgpAsn","clientGatewayId","connectionType","outscaleClientGatewayId","publicIp","requestId","state"],"inputProperties":{"bgpAsn":{"type":"number","description":"The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet. \u003cbr/\u003e\nThis number must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4294967295`\" pulumi-lang-dotnet=\"`4294967295`\" pulumi-lang-go=\"`4294967295`\" pulumi-lang-python=\"`4294967295`\" pulumi-lang-yaml=\"`4294967295`\" pulumi-lang-java=\"`4294967295`\"\u003e`4294967295`\u003c/span\u003e, except \u003cspan pulumi-lang-nodejs=\"`50624`\" pulumi-lang-dotnet=\"`50624`\" pulumi-lang-go=\"`50624`\" pulumi-lang-python=\"`50624`\" pulumi-lang-yaml=\"`50624`\" pulumi-lang-java=\"`50624`\"\u003e`50624`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`53306`\" pulumi-lang-dotnet=\"`53306`\" pulumi-lang-go=\"`53306`\" pulumi-lang-python=\"`53306`\" pulumi-lang-yaml=\"`53306`\" pulumi-lang-java=\"`53306`\"\u003e`53306`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`132418`\" pulumi-lang-dotnet=\"`132418`\" pulumi-lang-go=\"`132418`\" pulumi-lang-python=\"`132418`\" pulumi-lang-yaml=\"`132418`\" pulumi-lang-java=\"`132418`\"\u003e`132418`\u003c/span\u003e. \u003cbr/\u003e\nIf you do not have an ASN, you can choose one between \u003cspan pulumi-lang-nodejs=\"`64512`\" pulumi-lang-dotnet=\"`64512`\" pulumi-lang-go=\"`64512`\" pulumi-lang-python=\"`64512`\" pulumi-lang-yaml=\"`64512`\" pulumi-lang-java=\"`64512`\"\u003e`64512`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65534`\" pulumi-lang-dotnet=\"`65534`\" pulumi-lang-go=\"`65534`\" pulumi-lang-python=\"`65534`\" pulumi-lang-yaml=\"`65534`\" pulumi-lang-java=\"`65534`\"\u003e`65534`\u003c/span\u003e (both included), or between \u003cspan pulumi-lang-nodejs=\"`4200000000`\" pulumi-lang-dotnet=\"`4200000000`\" pulumi-lang-go=\"`4200000000`\" pulumi-lang-python=\"`4200000000`\" pulumi-lang-yaml=\"`4200000000`\" pulumi-lang-java=\"`4200000000`\"\u003e`4200000000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4294967295`\" pulumi-lang-dotnet=\"`4294967295`\" pulumi-lang-go=\"`4294967295`\" pulumi-lang-python=\"`4294967295`\" pulumi-lang-yaml=\"`4294967295`\" pulumi-lang-java=\"`4294967295`\"\u003e`4294967295`\u003c/span\u003e (both included).\n"},"connectionType":{"type":"string","description":"The communication protocol used to establish tunnel with your client gateway (always `ipsec.1`).\n"},"outscaleClientGatewayId":{"type":"string"},"publicIp":{"type":"string","description":"The public fixed IPv4 address of your client gateway.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FClientGatewayTag:ClientGatewayTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FClientGatewayTimeouts:ClientGatewayTimeouts"}},"requiredInputs":["bgpAsn","connectionType","publicIp"],"stateInputs":{"description":"Input properties used for looking up and filtering ClientGateway resources.\n","properties":{"bgpAsn":{"type":"number","description":"The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet. \u003cbr/\u003e\nThis number must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4294967295`\" pulumi-lang-dotnet=\"`4294967295`\" pulumi-lang-go=\"`4294967295`\" pulumi-lang-python=\"`4294967295`\" pulumi-lang-yaml=\"`4294967295`\" pulumi-lang-java=\"`4294967295`\"\u003e`4294967295`\u003c/span\u003e, except \u003cspan pulumi-lang-nodejs=\"`50624`\" pulumi-lang-dotnet=\"`50624`\" pulumi-lang-go=\"`50624`\" pulumi-lang-python=\"`50624`\" pulumi-lang-yaml=\"`50624`\" pulumi-lang-java=\"`50624`\"\u003e`50624`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`53306`\" pulumi-lang-dotnet=\"`53306`\" pulumi-lang-go=\"`53306`\" pulumi-lang-python=\"`53306`\" pulumi-lang-yaml=\"`53306`\" pulumi-lang-java=\"`53306`\"\u003e`53306`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`132418`\" pulumi-lang-dotnet=\"`132418`\" pulumi-lang-go=\"`132418`\" pulumi-lang-python=\"`132418`\" pulumi-lang-yaml=\"`132418`\" pulumi-lang-java=\"`132418`\"\u003e`132418`\u003c/span\u003e. \u003cbr/\u003e\nIf you do not have an ASN, you can choose one between \u003cspan pulumi-lang-nodejs=\"`64512`\" pulumi-lang-dotnet=\"`64512`\" pulumi-lang-go=\"`64512`\" pulumi-lang-python=\"`64512`\" pulumi-lang-yaml=\"`64512`\" pulumi-lang-java=\"`64512`\"\u003e`64512`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65534`\" pulumi-lang-dotnet=\"`65534`\" pulumi-lang-go=\"`65534`\" pulumi-lang-python=\"`65534`\" pulumi-lang-yaml=\"`65534`\" pulumi-lang-java=\"`65534`\"\u003e`65534`\u003c/span\u003e (both included), or between \u003cspan pulumi-lang-nodejs=\"`4200000000`\" pulumi-lang-dotnet=\"`4200000000`\" pulumi-lang-go=\"`4200000000`\" pulumi-lang-python=\"`4200000000`\" pulumi-lang-yaml=\"`4200000000`\" pulumi-lang-java=\"`4200000000`\"\u003e`4200000000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`4294967295`\" pulumi-lang-dotnet=\"`4294967295`\" pulumi-lang-go=\"`4294967295`\" pulumi-lang-python=\"`4294967295`\" pulumi-lang-yaml=\"`4294967295`\" pulumi-lang-java=\"`4294967295`\"\u003e`4294967295`\u003c/span\u003e (both included).\n"},"clientGatewayId":{"type":"string","description":"The ID of the client gateway.\n"},"connectionType":{"type":"string","description":"The communication protocol used to establish tunnel with your client gateway (always `ipsec.1`).\n"},"outscaleClientGatewayId":{"type":"string"},"publicIp":{"type":"string","description":"The public fixed IPv4 address of your client gateway.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the client gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FClientGatewayTag:ClientGatewayTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FClientGatewayTimeouts:ClientGatewayTimeouts"}},"type":"object"}},"outscale:index/dhcpOption:DhcpOption":{"description":"Manages a DHCP option.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-DHCP-Options.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-dhcpoption).\n\n## Example Usage\n\n### Create a basic DHCP options set\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst dhcpOption01 = new outscale.DhcpOption(\"dhcp_option_01\", {domainName: \"MyCompany.com\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ndhcp_option01 = outscale.DhcpOption(\"dhcp_option_01\", domain_name=\"MyCompany.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dhcpOption01 = new Outscale.DhcpOption(\"dhcp_option_01\", new()\n    {\n        DomainName = \"MyCompany.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewDhcpOption(ctx, \"dhcp_option_01\", \u0026outscale.DhcpOptionArgs{\n\t\t\tDomainName: pulumi.String(\"MyCompany.com\"),\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.outscale.DhcpOption;\nimport com.pulumi.outscale.DhcpOptionArgs;\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        var dhcpOption01 = new DhcpOption(\"dhcpOption01\", DhcpOptionArgs.builder()\n            .domainName(\"MyCompany.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dhcpOption01:\n    type: outscale:DhcpOption\n    name: dhcp_option_01\n    properties:\n      domainName: MyCompany.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a complete DHCP options set\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst dhcpOption02 = new outscale.DhcpOption(\"dhcp_option_02\", {\n    domainName: \"MyCompany.com\",\n    domainNameServers: [\n        \"111.111.11.111\",\n        \"222.222.22.222\",\n    ],\n    ntpServers: [\n        \"111.1.1.1\",\n        \"222.2.2.2\",\n    ],\n    tags: [{\n        key: \"Name\",\n        value: \"DHCP01\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ndhcp_option02 = outscale.DhcpOption(\"dhcp_option_02\",\n    domain_name=\"MyCompany.com\",\n    domain_name_servers=[\n        \"111.111.11.111\",\n        \"222.222.22.222\",\n    ],\n    ntp_servers=[\n        \"111.1.1.1\",\n        \"222.2.2.2\",\n    ],\n    tags=[{\n        \"key\": \"Name\",\n        \"value\": \"DHCP01\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dhcpOption02 = new Outscale.DhcpOption(\"dhcp_option_02\", new()\n    {\n        DomainName = \"MyCompany.com\",\n        DomainNameServers = new[]\n        {\n            \"111.111.11.111\",\n            \"222.222.22.222\",\n        },\n        NtpServers = new[]\n        {\n            \"111.1.1.1\",\n            \"222.2.2.2\",\n        },\n        Tags = new[]\n        {\n            new Outscale.Inputs.DhcpOptionTagArgs\n            {\n                Key = \"Name\",\n                Value = \"DHCP01\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewDhcpOption(ctx, \"dhcp_option_02\", \u0026outscale.DhcpOptionArgs{\n\t\t\tDomainName: pulumi.String(\"MyCompany.com\"),\n\t\t\tDomainNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"111.111.11.111\"),\n\t\t\t\tpulumi.String(\"222.222.22.222\"),\n\t\t\t},\n\t\t\tNtpServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"111.1.1.1\"),\n\t\t\t\tpulumi.String(\"222.2.2.2\"),\n\t\t\t},\n\t\t\tTags: outscale.DhcpOptionTagArray{\n\t\t\t\t\u0026outscale.DhcpOptionTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"DHCP01\"),\n\t\t\t\t},\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.outscale.DhcpOption;\nimport com.pulumi.outscale.DhcpOptionArgs;\nimport com.pulumi.outscale.inputs.DhcpOptionTagArgs;\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        var dhcpOption02 = new DhcpOption(\"dhcpOption02\", DhcpOptionArgs.builder()\n            .domainName(\"MyCompany.com\")\n            .domainNameServers(            \n                \"111.111.11.111\",\n                \"222.222.22.222\")\n            .ntpServers(            \n                \"111.1.1.1\",\n                \"222.2.2.2\")\n            .tags(DhcpOptionTagArgs.builder()\n                .key(\"Name\")\n                .value(\"DHCP01\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dhcpOption02:\n    type: outscale:DhcpOption\n    name: dhcp_option_02\n    properties:\n      domainName: MyCompany.com\n      domainNameServers:\n        - 111.111.11.111\n        - 222.222.22.222\n      ntpServers:\n        - 111.1.1.1\n        - 222.2.2.2\n      tags:\n        - key: Name\n          value: DHCP01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDHCP options can be imported using the DHCP option ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/dhcpOption:DhcpOption ImportedDhcpSet dopt-87654321\n```\n\n","properties":{"default":{"type":"boolean","description":"If true, the DHCP options set is a default one. If false, it is not.\n"},"dhcpOptionId":{"type":"string"},"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set.\n"},"domainName":{"type":"string","description":"Specify a domain name (for example, MyCompany.com). You can specify only one domain name. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, or `NtpServers`.\n"},"domainNameServers":{"type":"array","items":{"type":"string"},"description":"The IPs of domain name servers. If no IPs are specified, the `OutscaleProvidedDNS` value is set by default. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, or `NtpServers`.\n"},"logServers":{"type":"array","items":{"type":"string"},"description":"The IPs of the log servers. You must specify at least one of the following parameters: \u003cspan pulumi-lang-nodejs=\"`domainName`\" pulumi-lang-dotnet=\"`DomainName`\" pulumi-lang-go=\"`domainName`\" pulumi-lang-python=\"`domain_name`\" pulumi-lang-yaml=\"`domainName`\" pulumi-lang-java=\"`domainName`\"\u003e`domain_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`domainNameServers`\" pulumi-lang-dotnet=\"`DomainNameServers`\" pulumi-lang-go=\"`domainNameServers`\" pulumi-lang-python=\"`domain_name_servers`\" pulumi-lang-yaml=\"`domainNameServers`\" pulumi-lang-java=\"`domainNameServers`\"\u003e`domain_name_servers`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logServers`\" pulumi-lang-dotnet=\"`LogServers`\" pulumi-lang-go=\"`logServers`\" pulumi-lang-python=\"`log_servers`\" pulumi-lang-yaml=\"`logServers`\" pulumi-lang-java=\"`logServers`\"\u003e`log_servers`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`ntpServers`\" pulumi-lang-dotnet=\"`NtpServers`\" pulumi-lang-go=\"`ntpServers`\" pulumi-lang-python=\"`ntp_servers`\" pulumi-lang-yaml=\"`ntpServers`\" pulumi-lang-java=\"`ntpServers`\"\u003e`ntp_servers`\u003c/span\u003e.\n"},"ntpServers":{"type":"array","items":{"type":"string"},"description":"The IPs of the Network Time Protocol (NTP) servers. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, or `NtpServers`.\n"},"requestId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FDhcpOptionTag:DhcpOptionTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FDhcpOptionTimeouts:DhcpOptionTimeouts"}},"type":"object","required":["default","dhcpOptionId","dhcpOptionsSetId","domainName","domainNameServers","logServers","ntpServers","requestId"],"inputProperties":{"dhcpOptionId":{"type":"string"},"domainName":{"type":"string","description":"Specify a domain name (for example, MyCompany.com). You can specify only one domain name. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, or `NtpServers`.\n"},"domainNameServers":{"type":"array","items":{"type":"string"},"description":"The IPs of domain name servers. If no IPs are specified, the `OutscaleProvidedDNS` value is set by default. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, or `NtpServers`.\n"},"logServers":{"type":"array","items":{"type":"string"},"description":"The IPs of the log servers. You must specify at least one of the following parameters: \u003cspan pulumi-lang-nodejs=\"`domainName`\" pulumi-lang-dotnet=\"`DomainName`\" pulumi-lang-go=\"`domainName`\" pulumi-lang-python=\"`domain_name`\" pulumi-lang-yaml=\"`domainName`\" pulumi-lang-java=\"`domainName`\"\u003e`domain_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`domainNameServers`\" pulumi-lang-dotnet=\"`DomainNameServers`\" pulumi-lang-go=\"`domainNameServers`\" pulumi-lang-python=\"`domain_name_servers`\" pulumi-lang-yaml=\"`domainNameServers`\" pulumi-lang-java=\"`domainNameServers`\"\u003e`domain_name_servers`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logServers`\" pulumi-lang-dotnet=\"`LogServers`\" pulumi-lang-go=\"`logServers`\" pulumi-lang-python=\"`log_servers`\" pulumi-lang-yaml=\"`logServers`\" pulumi-lang-java=\"`logServers`\"\u003e`log_servers`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`ntpServers`\" pulumi-lang-dotnet=\"`NtpServers`\" pulumi-lang-go=\"`ntpServers`\" pulumi-lang-python=\"`ntp_servers`\" pulumi-lang-yaml=\"`ntpServers`\" pulumi-lang-java=\"`ntpServers`\"\u003e`ntp_servers`\u003c/span\u003e.\n"},"ntpServers":{"type":"array","items":{"type":"string"},"description":"The IPs of the Network Time Protocol (NTP) servers. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, or `NtpServers`.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FDhcpOptionTag:DhcpOptionTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FDhcpOptionTimeouts:DhcpOptionTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering DhcpOption resources.\n","properties":{"default":{"type":"boolean","description":"If true, the DHCP options set is a default one. If false, it is not.\n"},"dhcpOptionId":{"type":"string"},"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set.\n"},"domainName":{"type":"string","description":"Specify a domain name (for example, MyCompany.com). You can specify only one domain name. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, or `NtpServers`.\n"},"domainNameServers":{"type":"array","items":{"type":"string"},"description":"The IPs of domain name servers. If no IPs are specified, the `OutscaleProvidedDNS` value is set by default. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, or `NtpServers`.\n"},"logServers":{"type":"array","items":{"type":"string"},"description":"The IPs of the log servers. You must specify at least one of the following parameters: \u003cspan pulumi-lang-nodejs=\"`domainName`\" pulumi-lang-dotnet=\"`DomainName`\" pulumi-lang-go=\"`domainName`\" pulumi-lang-python=\"`domain_name`\" pulumi-lang-yaml=\"`domainName`\" pulumi-lang-java=\"`domainName`\"\u003e`domain_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`domainNameServers`\" pulumi-lang-dotnet=\"`DomainNameServers`\" pulumi-lang-go=\"`domainNameServers`\" pulumi-lang-python=\"`domain_name_servers`\" pulumi-lang-yaml=\"`domainNameServers`\" pulumi-lang-java=\"`domainNameServers`\"\u003e`domain_name_servers`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logServers`\" pulumi-lang-dotnet=\"`LogServers`\" pulumi-lang-go=\"`logServers`\" pulumi-lang-python=\"`log_servers`\" pulumi-lang-yaml=\"`logServers`\" pulumi-lang-java=\"`logServers`\"\u003e`log_servers`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`ntpServers`\" pulumi-lang-dotnet=\"`NtpServers`\" pulumi-lang-go=\"`ntpServers`\" pulumi-lang-python=\"`ntp_servers`\" pulumi-lang-yaml=\"`ntpServers`\" pulumi-lang-java=\"`ntpServers`\"\u003e`ntp_servers`\u003c/span\u003e.\n"},"ntpServers":{"type":"array","items":{"type":"string"},"description":"The IPs of the Network Time Protocol (NTP) servers. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, or `NtpServers`.\n"},"requestId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FDhcpOptionTag:DhcpOptionTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FDhcpOptionTimeouts:DhcpOptionTimeouts"}},"type":"object"}},"outscale:index/flexibleGpu:FlexibleGpu":{"description":"Manages a flexible GPU.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-flexiblegpu).\n\n## Example Usage\n\n### Create a flexible GPU\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst flexibleGpu01 = new outscale.FlexibleGpu(\"flexible_gpu01\", {\n    modelName: modelName,\n    generation: \"v4\",\n    subregionName: `${region}a`,\n    deleteOnVmDeletion: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nflexible_gpu01 = outscale.FlexibleGpu(\"flexible_gpu01\",\n    model_name=model_name,\n    generation=\"v4\",\n    subregion_name=f\"{region}a\",\n    delete_on_vm_deletion=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flexibleGpu01 = new Outscale.FlexibleGpu(\"flexible_gpu01\", new()\n    {\n        ModelName = modelName,\n        Generation = \"v4\",\n        SubregionName = $\"{region}a\",\n        DeleteOnVmDeletion = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewFlexibleGpu(ctx, \"flexible_gpu01\", \u0026outscale.FlexibleGpuArgs{\n\t\t\tModelName:          pulumi.Any(modelName),\n\t\t\tGeneration:         pulumi.String(\"v4\"),\n\t\t\tSubregionName:      pulumi.Sprintf(\"%va\", region),\n\t\t\tDeleteOnVmDeletion: pulumi.Bool(true),\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.outscale.FlexibleGpu;\nimport com.pulumi.outscale.FlexibleGpuArgs;\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        var flexibleGpu01 = new FlexibleGpu(\"flexibleGpu01\", FlexibleGpuArgs.builder()\n            .modelName(modelName)\n            .generation(\"v4\")\n            .subregionName(String.format(\"%sa\", region))\n            .deleteOnVmDeletion(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  flexibleGpu01:\n    type: outscale:FlexibleGpu\n    name: flexible_gpu01\n    properties:\n      modelName: ${modelName}\n      generation: v4\n      subregionName: ${region}a\n      deleteOnVmDeletion: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA flexible GPU can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/flexibleGpu:FlexibleGpu imported_fgpu fgpu-12345678\n```\n\n","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the fGPU is deleted when the VM is terminated.\n"},"flexibleGpuId":{"type":"string","description":"The ID of the fGPU.\n"},"generation":{"type":"string","description":"The processor generation that the fGPU must be compatible with. If not specified, the oldest possible processor generation is selected (as provided by [ReadFlexibleGpuCatalog](https://docs.outscale.com/api#readflexiblegpucatalog) for the specified model of fGPU).\n"},"modelName":{"type":"string","description":"The model of fGPU you want to allocate. For more information, see [About Flexible GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).\n"},"state":{"type":"string","description":"The state of the fGPU (\u003cspan pulumi-lang-nodejs=\"`allocated`\" pulumi-lang-dotnet=\"`Allocated`\" pulumi-lang-go=\"`allocated`\" pulumi-lang-python=\"`allocated`\" pulumi-lang-yaml=\"`allocated`\" pulumi-lang-java=\"`allocated`\"\u003e`allocated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attached`\" pulumi-lang-dotnet=\"`Attached`\" pulumi-lang-go=\"`attached`\" pulumi-lang-python=\"`attached`\" pulumi-lang-yaml=\"`attached`\" pulumi-lang-java=\"`attached`\"\u003e`attached`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n"},"subregionName":{"type":"string","description":"The Subregion in which you want to create the fGPU.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FFlexibleGpuTimeouts:FlexibleGpuTimeouts"},"vmId":{"type":"string","description":"The ID of the VM the fGPU is attached to, if any.\n"}},"type":"object","required":["deleteOnVmDeletion","flexibleGpuId","generation","modelName","state","subregionName","vmId"],"inputProperties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the fGPU is deleted when the VM is terminated.\n"},"generation":{"type":"string","description":"The processor generation that the fGPU must be compatible with. If not specified, the oldest possible processor generation is selected (as provided by [ReadFlexibleGpuCatalog](https://docs.outscale.com/api#readflexiblegpucatalog) for the specified model of fGPU).\n"},"modelName":{"type":"string","description":"The model of fGPU you want to allocate. For more information, see [About Flexible GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).\n"},"subregionName":{"type":"string","description":"The Subregion in which you want to create the fGPU.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FFlexibleGpuTimeouts:FlexibleGpuTimeouts"}},"requiredInputs":["modelName","subregionName"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleGpu resources.\n","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the fGPU is deleted when the VM is terminated.\n"},"flexibleGpuId":{"type":"string","description":"The ID of the fGPU.\n"},"generation":{"type":"string","description":"The processor generation that the fGPU must be compatible with. If not specified, the oldest possible processor generation is selected (as provided by [ReadFlexibleGpuCatalog](https://docs.outscale.com/api#readflexiblegpucatalog) for the specified model of fGPU).\n"},"modelName":{"type":"string","description":"The model of fGPU you want to allocate. For more information, see [About Flexible GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).\n"},"state":{"type":"string","description":"The state of the fGPU (\u003cspan pulumi-lang-nodejs=\"`allocated`\" pulumi-lang-dotnet=\"`Allocated`\" pulumi-lang-go=\"`allocated`\" pulumi-lang-python=\"`allocated`\" pulumi-lang-yaml=\"`allocated`\" pulumi-lang-java=\"`allocated`\"\u003e`allocated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attached`\" pulumi-lang-dotnet=\"`Attached`\" pulumi-lang-go=\"`attached`\" pulumi-lang-python=\"`attached`\" pulumi-lang-yaml=\"`attached`\" pulumi-lang-java=\"`attached`\"\u003e`attached`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n"},"subregionName":{"type":"string","description":"The Subregion in which you want to create the fGPU.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FFlexibleGpuTimeouts:FlexibleGpuTimeouts"},"vmId":{"type":"string","description":"The ID of the VM the fGPU is attached to, if any.\n"}},"type":"object"}},"outscale:index/flexibleGpuLink:FlexibleGpuLink":{"description":"Manages a flexible GPU link.\n\nWhen linking a flexible GPU to a VM, the VM will automatically be stopped and started again.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-flexiblegpu).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vm01 = new outscale.Vm(\"vm01\", {\n    imageId: \"ami-12345678\",\n    vmType: \"tinav5.c1r1p2\",\n    keypairName: keypairName,\n    placementSubregionName: \"eu-west-2a\",\n});\nconst flexibleGpu01 = new outscale.FlexibleGpu(\"flexible_gpu01\", {\n    modelName: modelName,\n    generation: \"v4\",\n    subregionName: \"eu-west-2a\",\n    deleteOnVmDeletion: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvm01 = outscale.Vm(\"vm01\",\n    image_id=\"ami-12345678\",\n    vm_type=\"tinav5.c1r1p2\",\n    keypair_name=keypair_name,\n    placement_subregion_name=\"eu-west-2a\")\nflexible_gpu01 = outscale.FlexibleGpu(\"flexible_gpu01\",\n    model_name=model_name,\n    generation=\"v4\",\n    subregion_name=\"eu-west-2a\",\n    delete_on_vm_deletion=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vm01 = new Outscale.Vm(\"vm01\", new()\n    {\n        ImageId = \"ami-12345678\",\n        VmType = \"tinav5.c1r1p2\",\n        KeypairName = keypairName,\n        PlacementSubregionName = \"eu-west-2a\",\n    });\n\n    var flexibleGpu01 = new Outscale.FlexibleGpu(\"flexible_gpu01\", new()\n    {\n        ModelName = modelName,\n        Generation = \"v4\",\n        SubregionName = \"eu-west-2a\",\n        DeleteOnVmDeletion = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVm(ctx, \"vm01\", \u0026outscale.VmArgs{\n\t\t\tImageId:                pulumi.String(\"ami-12345678\"),\n\t\t\tVmType:                 pulumi.String(\"tinav5.c1r1p2\"),\n\t\t\tKeypairName:            pulumi.Any(keypairName),\n\t\t\tPlacementSubregionName: pulumi.String(\"eu-west-2a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewFlexibleGpu(ctx, \"flexible_gpu01\", \u0026outscale.FlexibleGpuArgs{\n\t\t\tModelName:          pulumi.Any(modelName),\n\t\t\tGeneration:         pulumi.String(\"v4\"),\n\t\t\tSubregionName:      pulumi.String(\"eu-west-2a\"),\n\t\t\tDeleteOnVmDeletion: pulumi.Bool(true),\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.outscale.Vm;\nimport com.pulumi.outscale.VmArgs;\nimport com.pulumi.outscale.FlexibleGpu;\nimport com.pulumi.outscale.FlexibleGpuArgs;\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        var vm01 = new Vm(\"vm01\", VmArgs.builder()\n            .imageId(\"ami-12345678\")\n            .vmType(\"tinav5.c1r1p2\")\n            .keypairName(keypairName)\n            .placementSubregionName(\"eu-west-2a\")\n            .build());\n\n        var flexibleGpu01 = new FlexibleGpu(\"flexibleGpu01\", FlexibleGpuArgs.builder()\n            .modelName(modelName)\n            .generation(\"v4\")\n            .subregionName(\"eu-west-2a\")\n            .deleteOnVmDeletion(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vm01:\n    type: outscale:Vm\n    properties:\n      imageId: ami-12345678\n      vmType: tinav5.c1r1p2\n      keypairName: ${keypairName}\n      placementSubregionName: eu-west-2a\n  flexibleGpu01:\n    type: outscale:FlexibleGpu\n    name: flexible_gpu01\n    properties:\n      modelName: ${modelName}\n      generation: v4\n      subregionName: eu-west-2a\n      deleteOnVmDeletion: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a flexible GPU link\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst linkFgpu01 = new outscale.FlexibleGpuLink(\"link_fgpu01\", {\n    flexibleGpuIds: [flexibleGpu01.flexibleGpuId],\n    vmId: vm01.vmId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nlink_fgpu01 = outscale.FlexibleGpuLink(\"link_fgpu01\",\n    flexible_gpu_ids=[flexible_gpu01[\"flexibleGpuId\"]],\n    vm_id=vm01[\"vmId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var linkFgpu01 = new Outscale.FlexibleGpuLink(\"link_fgpu01\", new()\n    {\n        FlexibleGpuIds = new[]\n        {\n            flexibleGpu01.FlexibleGpuId,\n        },\n        VmId = vm01.VmId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewFlexibleGpuLink(ctx, \"link_fgpu01\", \u0026outscale.FlexibleGpuLinkArgs{\n\t\t\tFlexibleGpuIds: pulumi.StringArray{\n\t\t\t\tflexibleGpu01.FlexibleGpuId,\n\t\t\t},\n\t\t\tVmId: pulumi.Any(vm01.VmId),\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.outscale.FlexibleGpuLink;\nimport com.pulumi.outscale.FlexibleGpuLinkArgs;\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        var linkFgpu01 = new FlexibleGpuLink(\"linkFgpu01\", FlexibleGpuLinkArgs.builder()\n            .flexibleGpuIds(flexibleGpu01.flexibleGpuId())\n            .vmId(vm01.vmId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  linkFgpu01:\n    type: outscale:FlexibleGpuLink\n    name: link_fgpu01\n    properties:\n      flexibleGpuIds:\n        - ${flexibleGpu01.flexibleGpuId}\n      vmId: ${vm01.vmId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA flexible GPU link can be imported using the flexible GPU ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/flexibleGpuLink:FlexibleGpuLink imported_link_fgpu fgpu-12345678\n```\n\n","properties":{"flexibleGpuIds":{"type":"array","items":{"type":"string"},"description":"(Required) The ID of one or more fGPUs you want to attach.\n"},"flexibleGpuLinkId":{"type":"string"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FFlexibleGpuLinkTimeouts:FlexibleGpuLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM you want to attach the fGPU to.\n"}},"type":"object","required":["flexibleGpuIds","flexibleGpuLinkId","requestId","vmId"],"inputProperties":{"flexibleGpuIds":{"type":"array","items":{"type":"string"},"description":"(Required) The ID of one or more fGPUs you want to attach.\n"},"flexibleGpuLinkId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FFlexibleGpuLinkTimeouts:FlexibleGpuLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM you want to attach the fGPU to.\n"}},"requiredInputs":["flexibleGpuIds","vmId"],"stateInputs":{"description":"Input properties used for looking up and filtering FlexibleGpuLink resources.\n","properties":{"flexibleGpuIds":{"type":"array","items":{"type":"string"},"description":"(Required) The ID of one or more fGPUs you want to attach.\n"},"flexibleGpuLinkId":{"type":"string"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FFlexibleGpuLinkTimeouts:FlexibleGpuLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM you want to attach the fGPU to.\n"}},"type":"object"}},"outscale:index/image:Image":{"description":"Manages an image.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-OMIs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-image).\n\n## Example Usage\n\n### Create an image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst image01 = new outscale.Image(\"image01\", {\n    imageName: \"terraform-omi-create\",\n    vmId: vmId,\n    noReboot: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage01 = outscale.Image(\"image01\",\n    image_name=\"terraform-omi-create\",\n    vm_id=vm_id,\n    no_reboot=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var image01 = new Outscale.Image(\"image01\", new()\n    {\n        ImageName = \"terraform-omi-create\",\n        VmId = vmId,\n        NoReboot = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewImage(ctx, \"image01\", \u0026outscale.ImageArgs{\n\t\t\tImageName: pulumi.String(\"terraform-omi-create\"),\n\t\t\tVmId:      pulumi.Any(vmId),\n\t\t\tNoReboot:  pulumi.Bool(true),\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.outscale.Image;\nimport com.pulumi.outscale.ImageArgs;\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        var image01 = new Image(\"image01\", ImageArgs.builder()\n            .imageName(\"terraform-omi-create\")\n            .vmId(vmId)\n            .noReboot(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  image01:\n    type: outscale:Image\n    properties:\n      imageName: terraform-omi-create\n      vmId: ${vmId}\n      noReboot: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Import an image\n\u003e **Important** Make sure the manifest file is still valid.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst image02 = new outscale.Image(\"image02\", {\n    description: \"Terraform register OMI\",\n    imageName: \"terraform-omi-register\",\n    fileLocation: \"\u003cURL\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage02 = outscale.Image(\"image02\",\n    description=\"Terraform register OMI\",\n    image_name=\"terraform-omi-register\",\n    file_location=\"\u003cURL\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var image02 = new Outscale.Image(\"image02\", new()\n    {\n        Description = \"Terraform register OMI\",\n        ImageName = \"terraform-omi-register\",\n        FileLocation = \"\u003cURL\u003e\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewImage(ctx, \"image02\", \u0026outscale.ImageArgs{\n\t\t\tDescription:  pulumi.String(\"Terraform register OMI\"),\n\t\t\tImageName:    pulumi.String(\"terraform-omi-register\"),\n\t\t\tFileLocation: pulumi.String(\"\u003cURL\u003e\"),\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.outscale.Image;\nimport com.pulumi.outscale.ImageArgs;\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        var image02 = new Image(\"image02\", ImageArgs.builder()\n            .description(\"Terraform register OMI\")\n            .imageName(\"terraform-omi-register\")\n            .fileLocation(\"\u003cURL\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  image02:\n    type: outscale:Image\n    properties:\n      description: Terraform register OMI\n      imageName: terraform-omi-register\n      fileLocation: \u003cURL\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Copy an image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst image03 = new outscale.Image(\"image03\", {\n    description: \"Terraform copy OMI\",\n    imageName: \"terraform-omi-copy\",\n    sourceImageId: \"ami-12345678\",\n    sourceRegionName: \"eu-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage03 = outscale.Image(\"image03\",\n    description=\"Terraform copy OMI\",\n    image_name=\"terraform-omi-copy\",\n    source_image_id=\"ami-12345678\",\n    source_region_name=\"eu-west-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var image03 = new Outscale.Image(\"image03\", new()\n    {\n        Description = \"Terraform copy OMI\",\n        ImageName = \"terraform-omi-copy\",\n        SourceImageId = \"ami-12345678\",\n        SourceRegionName = \"eu-west-2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewImage(ctx, \"image03\", \u0026outscale.ImageArgs{\n\t\t\tDescription:      pulumi.String(\"Terraform copy OMI\"),\n\t\t\tImageName:        pulumi.String(\"terraform-omi-copy\"),\n\t\t\tSourceImageId:    pulumi.String(\"ami-12345678\"),\n\t\t\tSourceRegionName: pulumi.String(\"eu-west-2\"),\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.outscale.Image;\nimport com.pulumi.outscale.ImageArgs;\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        var image03 = new Image(\"image03\", ImageArgs.builder()\n            .description(\"Terraform copy OMI\")\n            .imageName(\"terraform-omi-copy\")\n            .sourceImageId(\"ami-12345678\")\n            .sourceRegionName(\"eu-west-2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  image03:\n    type: outscale:Image\n    properties:\n      description: Terraform copy OMI\n      imageName: terraform-omi-copy\n      sourceImageId: ami-12345678\n      sourceRegionName: eu-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an image with a Block Storage Unit (BSU) volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst image04 = new outscale.Image(\"image04\", {\n    imageName: \"terraform-omi-bsu\",\n    blockDeviceMappings: [{\n        deviceName: \"/dev/sda1\",\n        bsus: [{\n            snapshotId: \"snap-12345678\",\n            volumeSize: 120,\n            volumeType: \"io1\",\n            iops: 150,\n            deleteOnVmDeletion: true,\n        }],\n    }],\n    rootDeviceName: \"/dev/sda1\",\n    description: \"Terraform OMI with BSU\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage04 = outscale.Image(\"image04\",\n    image_name=\"terraform-omi-bsu\",\n    block_device_mappings=[{\n        \"device_name\": \"/dev/sda1\",\n        \"bsus\": [{\n            \"snapshot_id\": \"snap-12345678\",\n            \"volume_size\": 120,\n            \"volume_type\": \"io1\",\n            \"iops\": 150,\n            \"delete_on_vm_deletion\": True,\n        }],\n    }],\n    root_device_name=\"/dev/sda1\",\n    description=\"Terraform OMI with BSU\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var image04 = new Outscale.Image(\"image04\", new()\n    {\n        ImageName = \"terraform-omi-bsu\",\n        BlockDeviceMappings = new[]\n        {\n            new Outscale.Inputs.ImageBlockDeviceMappingArgs\n            {\n                DeviceName = \"/dev/sda1\",\n                Bsus = new[]\n                {\n                    new Outscale.Inputs.ImageBlockDeviceMappingBsusArgs\n                    {\n                        SnapshotId = \"snap-12345678\",\n                        VolumeSize = 120,\n                        VolumeType = \"io1\",\n                        Iops = 150,\n                        DeleteOnVmDeletion = true,\n                    },\n                },\n            },\n        },\n        RootDeviceName = \"/dev/sda1\",\n        Description = \"Terraform OMI with BSU\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewImage(ctx, \"image04\", \u0026outscale.ImageArgs{\n\t\t\tImageName: pulumi.String(\"terraform-omi-bsu\"),\n\t\t\tBlockDeviceMappings: outscale.ImageBlockDeviceMappingArray{\n\t\t\t\t\u0026outscale.ImageBlockDeviceMappingArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"/dev/sda1\"),\n\t\t\t\t\tBsus: outscale.ImageBlockDeviceMappingBsusArray{\n\t\t\t\t\t\t\u0026outscale.ImageBlockDeviceMappingBsusArgs{\n\t\t\t\t\t\t\tSnapshotId:         pulumi.String(\"snap-12345678\"),\n\t\t\t\t\t\t\tVolumeSize:         pulumi.Float64(120),\n\t\t\t\t\t\t\tVolumeType:         pulumi.String(\"io1\"),\n\t\t\t\t\t\t\tIops:               pulumi.Float64(150),\n\t\t\t\t\t\t\tDeleteOnVmDeletion: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRootDeviceName: pulumi.String(\"/dev/sda1\"),\n\t\t\tDescription:    pulumi.String(\"Terraform OMI with BSU\"),\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.outscale.Image;\nimport com.pulumi.outscale.ImageArgs;\nimport com.pulumi.outscale.inputs.ImageBlockDeviceMappingArgs;\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        var image04 = new Image(\"image04\", ImageArgs.builder()\n            .imageName(\"terraform-omi-bsu\")\n            .blockDeviceMappings(ImageBlockDeviceMappingArgs.builder()\n                .deviceName(\"/dev/sda1\")\n                .bsus(ImageBlockDeviceMappingBsusArgs.builder()\n                    .snapshotId(\"snap-12345678\")\n                    .volumeSize(120.0)\n                    .volumeType(\"io1\")\n                    .iops(150.0)\n                    .deleteOnVmDeletion(true)\n                    .build())\n                .build())\n            .rootDeviceName(\"/dev/sda1\")\n            .description(\"Terraform OMI with BSU\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  image04:\n    type: outscale:Image\n    properties:\n      imageName: terraform-omi-bsu\n      blockDeviceMappings:\n        - deviceName: /dev/sda1\n          bsus:\n            - snapshotId: snap-12345678\n              volumeSize: '120'\n              volumeType: io1\n              iops: 150\n              deleteOnVmDeletion: 'true'\n      rootDeviceName: /dev/sda1\n      description: Terraform OMI with BSU\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn image can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/image:Image ImportedImage ami-12345678\n```\n\n","properties":{"accountAlias":{"type":"string","description":"The account alias of the owner of the OMI.\n"},"accountId":{"type":"string","description":"The account ID of the owner of the OMI.\n"},"architecture":{"type":"string","description":"**When registering from a snapshot:** The architecture of the OMI (\u003cspan pulumi-lang-nodejs=\"`i386`\" pulumi-lang-dotnet=\"`I386`\" pulumi-lang-go=\"`i386`\" pulumi-lang-python=\"`i386`\" pulumi-lang-yaml=\"`i386`\" pulumi-lang-java=\"`i386`\"\u003e`i386`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\"\u003e`x86_64`\u003c/span\u003e).\n"},"blockDeviceMappings":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageBlockDeviceMapping:ImageBlockDeviceMapping"},"description":"**(required) When registering from a snapshot:** One or more block device mappings.\n"},"bootModes":{"type":"array","items":{"type":"string"},"description":"The boot modes compatible with the OMI. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the OMI was created.\n"},"description":{"type":"string","description":"A description for the new OMI.\n"},"fileLocation":{"type":"string","description":"**(required) When registering from a bucket by using a manifest file:** The pre-signed URL of the manifest file for the OMI you want to register. For more information, see [Creating a Pre-signed URL](https://docs.outscale.com/en/userguide/Creating-a-Pre-Signed-URL.html).\n"},"imageId":{"type":"string","description":"The ID of the OMI.\n"},"imageName":{"type":"string","description":"A unique name for the new OMI.\u003cbr /\u003e\nConstraints: 3-128 alphanumeric characters, underscores (`_`), spaces (` `), parentheses (`()`), slashes (`/`), periods (`.`), or dashes (`-`).\n"},"imageType":{"type":"string","description":"The type of the OMI.\n"},"isPublic":{"type":"boolean"},"noReboot":{"type":"boolean","description":"**When creating from a VM:** If false, the VM shuts down before creating the OMI and then reboots. If true, the VM does not.\n"},"outscaleImageId":{"type":"string"},"permissionsToLaunches":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImagePermissionsToLaunch:ImagePermissionsToLaunch"},"description":"Permissions for the resource.\n"},"productCodes":{"type":"array","items":{"type":"string"},"description":"The product codes associated with the OMI.\n"},"requestId":{"type":"string"},"rootDeviceName":{"type":"string","description":"**(required) When registering from a snapshot:** The name of the root device for the new OMI.\n"},"rootDeviceType":{"type":"string","description":"The type of root device used by the OMI (always \u003cspan pulumi-lang-nodejs=\"`bsu`\" pulumi-lang-dotnet=\"`Bsu`\" pulumi-lang-go=\"`bsu`\" pulumi-lang-python=\"`bsu`\" pulumi-lang-yaml=\"`bsu`\" pulumi-lang-java=\"`bsu`\"\u003e`bsu`\u003c/span\u003e).\n"},"sourceImageId":{"type":"string","description":"**(required) When copying an OMI:** The ID of the OMI you want to copy.\n"},"sourceRegionName":{"type":"string","description":"**(required) When copying an OMI:** The name of the source Region (always the same as the Region of your account).\n"},"state":{"type":"string","description":"The state of the OMI (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e).\n"},"stateComments":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageStateComment:ImageStateComment"},"description":"Information about the change of state.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageTag:ImageTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FImageTimeouts:ImageTimeouts"},"tpmMandatory":{"type":"boolean","description":"By default or if set to false, a virtual Trusted Platform Module (vTPM) is not mandatory on VMs created from this OMI. If true, VMs created from this OMI must have a vTPM enabled.\n"},"vmId":{"type":"string","description":"**(required) When creating from a VM:** The ID of the VM from which you want to create the OMI.\n"}},"type":"object","required":["accountAlias","accountId","architecture","bootModes","creationDate","description","fileLocation","imageId","imageName","imageType","isPublic","noReboot","outscaleImageId","permissionsToLaunches","productCodes","requestId","rootDeviceName","rootDeviceType","sourceImageId","state","stateComments","tpmMandatory","vmId"],"inputProperties":{"architecture":{"type":"string","description":"**When registering from a snapshot:** The architecture of the OMI (\u003cspan pulumi-lang-nodejs=\"`i386`\" pulumi-lang-dotnet=\"`I386`\" pulumi-lang-go=\"`i386`\" pulumi-lang-python=\"`i386`\" pulumi-lang-yaml=\"`i386`\" pulumi-lang-java=\"`i386`\"\u003e`i386`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\"\u003e`x86_64`\u003c/span\u003e).\n"},"blockDeviceMappings":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageBlockDeviceMapping:ImageBlockDeviceMapping"},"description":"**(required) When registering from a snapshot:** One or more block device mappings.\n"},"bootModes":{"type":"array","items":{"type":"string"},"description":"The boot modes compatible with the OMI. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n"},"description":{"type":"string","description":"A description for the new OMI.\n"},"fileLocation":{"type":"string","description":"**(required) When registering from a bucket by using a manifest file:** The pre-signed URL of the manifest file for the OMI you want to register. For more information, see [Creating a Pre-signed URL](https://docs.outscale.com/en/userguide/Creating-a-Pre-Signed-URL.html).\n"},"imageName":{"type":"string","description":"A unique name for the new OMI.\u003cbr /\u003e\nConstraints: 3-128 alphanumeric characters, underscores (`_`), spaces (` `), parentheses (`()`), slashes (`/`), periods (`.`), or dashes (`-`).\n"},"noReboot":{"type":"boolean","description":"**When creating from a VM:** If false, the VM shuts down before creating the OMI and then reboots. If true, the VM does not.\n"},"outscaleImageId":{"type":"string"},"rootDeviceName":{"type":"string","description":"**(required) When registering from a snapshot:** The name of the root device for the new OMI.\n"},"sourceImageId":{"type":"string","description":"**(required) When copying an OMI:** The ID of the OMI you want to copy.\n"},"sourceRegionName":{"type":"string","description":"**(required) When copying an OMI:** The name of the source Region (always the same as the Region of your account).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageTag:ImageTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FImageTimeouts:ImageTimeouts"},"tpmMandatory":{"type":"boolean","description":"By default or if set to false, a virtual Trusted Platform Module (vTPM) is not mandatory on VMs created from this OMI. If true, VMs created from this OMI must have a vTPM enabled.\n"},"vmId":{"type":"string","description":"**(required) When creating from a VM:** The ID of the VM from which you want to create the OMI.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Image resources.\n","properties":{"accountAlias":{"type":"string","description":"The account alias of the owner of the OMI.\n"},"accountId":{"type":"string","description":"The account ID of the owner of the OMI.\n"},"architecture":{"type":"string","description":"**When registering from a snapshot:** The architecture of the OMI (\u003cspan pulumi-lang-nodejs=\"`i386`\" pulumi-lang-dotnet=\"`I386`\" pulumi-lang-go=\"`i386`\" pulumi-lang-python=\"`i386`\" pulumi-lang-yaml=\"`i386`\" pulumi-lang-java=\"`i386`\"\u003e`i386`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\"\u003e`x86_64`\u003c/span\u003e).\n"},"blockDeviceMappings":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageBlockDeviceMapping:ImageBlockDeviceMapping"},"description":"**(required) When registering from a snapshot:** One or more block device mappings.\n"},"bootModes":{"type":"array","items":{"type":"string"},"description":"The boot modes compatible with the OMI. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the OMI was created.\n"},"description":{"type":"string","description":"A description for the new OMI.\n"},"fileLocation":{"type":"string","description":"**(required) When registering from a bucket by using a manifest file:** The pre-signed URL of the manifest file for the OMI you want to register. For more information, see [Creating a Pre-signed URL](https://docs.outscale.com/en/userguide/Creating-a-Pre-Signed-URL.html).\n"},"imageId":{"type":"string","description":"The ID of the OMI.\n"},"imageName":{"type":"string","description":"A unique name for the new OMI.\u003cbr /\u003e\nConstraints: 3-128 alphanumeric characters, underscores (`_`), spaces (` `), parentheses (`()`), slashes (`/`), periods (`.`), or dashes (`-`).\n"},"imageType":{"type":"string","description":"The type of the OMI.\n"},"isPublic":{"type":"boolean"},"noReboot":{"type":"boolean","description":"**When creating from a VM:** If false, the VM shuts down before creating the OMI and then reboots. If true, the VM does not.\n"},"outscaleImageId":{"type":"string"},"permissionsToLaunches":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImagePermissionsToLaunch:ImagePermissionsToLaunch"},"description":"Permissions for the resource.\n"},"productCodes":{"type":"array","items":{"type":"string"},"description":"The product codes associated with the OMI.\n"},"requestId":{"type":"string"},"rootDeviceName":{"type":"string","description":"**(required) When registering from a snapshot:** The name of the root device for the new OMI.\n"},"rootDeviceType":{"type":"string","description":"The type of root device used by the OMI (always \u003cspan pulumi-lang-nodejs=\"`bsu`\" pulumi-lang-dotnet=\"`Bsu`\" pulumi-lang-go=\"`bsu`\" pulumi-lang-python=\"`bsu`\" pulumi-lang-yaml=\"`bsu`\" pulumi-lang-java=\"`bsu`\"\u003e`bsu`\u003c/span\u003e).\n"},"sourceImageId":{"type":"string","description":"**(required) When copying an OMI:** The ID of the OMI you want to copy.\n"},"sourceRegionName":{"type":"string","description":"**(required) When copying an OMI:** The name of the source Region (always the same as the Region of your account).\n"},"state":{"type":"string","description":"The state of the OMI (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e).\n"},"stateComments":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageStateComment:ImageStateComment"},"description":"Information about the change of state.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageTag:ImageTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FImageTimeouts:ImageTimeouts"},"tpmMandatory":{"type":"boolean","description":"By default or if set to false, a virtual Trusted Platform Module (vTPM) is not mandatory on VMs created from this OMI. If true, VMs created from this OMI must have a vTPM enabled.\n"},"vmId":{"type":"string","description":"**(required) When creating from a VM:** The ID of the VM from which you want to create the OMI.\n"}},"type":"object"}},"outscale:index/imageExportTask:ImageExportTask":{"description":"Manages an image export task.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-OMIs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-image).\n\n## Example Usage\n\n### Required resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst image01 = new outscale.Image(\"image01\", {\n    imageName: \"terraform-image-to-export\",\n    vmId: \"i-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage01 = outscale.Image(\"image01\",\n    image_name=\"terraform-image-to-export\",\n    vm_id=\"i-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var image01 = new Outscale.Image(\"image01\", new()\n    {\n        ImageName = \"terraform-image-to-export\",\n        VmId = \"i-12345678\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewImage(ctx, \"image01\", \u0026outscale.ImageArgs{\n\t\t\tImageName: pulumi.String(\"terraform-image-to-export\"),\n\t\t\tVmId:      pulumi.String(\"i-12345678\"),\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.outscale.Image;\nimport com.pulumi.outscale.ImageArgs;\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        var image01 = new Image(\"image01\", ImageArgs.builder()\n            .imageName(\"terraform-image-to-export\")\n            .vmId(\"i-12345678\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  image01:\n    type: outscale:Image\n    properties:\n      imageName: terraform-image-to-export\n      vmId: i-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an image export task\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst imageExportTask01 = new outscale.ImageExportTask(\"image_export_task01\", {\n    imageId: image01.imageId,\n    osuExports: [{\n        diskImageFormat: \"qcow2\",\n        osuBucket: \"terraform-bucket\",\n        osuPrefix: \"new-export\",\n        osuApiKeys: [{\n            apiKeyId: accessKeyId,\n            secretKey: secretKeyId,\n        }],\n    }],\n    tags: [{\n        key: \"Name\",\n        value: \"terraform-snapshot-export-task\",\n    }],\n    waitForCompletion: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage_export_task01 = outscale.ImageExportTask(\"image_export_task01\",\n    image_id=image01[\"imageId\"],\n    osu_exports=[{\n        \"disk_image_format\": \"qcow2\",\n        \"osu_bucket\": \"terraform-bucket\",\n        \"osu_prefix\": \"new-export\",\n        \"osu_api_keys\": [{\n            \"api_key_id\": access_key_id,\n            \"secret_key\": secret_key_id,\n        }],\n    }],\n    tags=[{\n        \"key\": \"Name\",\n        \"value\": \"terraform-snapshot-export-task\",\n    }],\n    wait_for_completion=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var imageExportTask01 = new Outscale.ImageExportTask(\"image_export_task01\", new()\n    {\n        ImageId = image01.ImageId,\n        OsuExports = new[]\n        {\n            new Outscale.Inputs.ImageExportTaskOsuExportArgs\n            {\n                DiskImageFormat = \"qcow2\",\n                OsuBucket = \"terraform-bucket\",\n                OsuPrefix = \"new-export\",\n                OsuApiKeys = new[]\n                {\n                    new Outscale.Inputs.ImageExportTaskOsuExportOsuApiKeyArgs\n                    {\n                        ApiKeyId = accessKeyId,\n                        SecretKey = secretKeyId,\n                    },\n                },\n            },\n        },\n        Tags = new[]\n        {\n            new Outscale.Inputs.ImageExportTaskTagArgs\n            {\n                Key = \"Name\",\n                Value = \"terraform-snapshot-export-task\",\n            },\n        },\n        WaitForCompletion = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewImageExportTask(ctx, \"image_export_task01\", \u0026outscale.ImageExportTaskArgs{\n\t\t\tImageId: pulumi.Any(image01.ImageId),\n\t\t\tOsuExports: outscale.ImageExportTaskOsuExportArray{\n\t\t\t\t\u0026outscale.ImageExportTaskOsuExportArgs{\n\t\t\t\t\tDiskImageFormat: pulumi.String(\"qcow2\"),\n\t\t\t\t\tOsuBucket:       pulumi.String(\"terraform-bucket\"),\n\t\t\t\t\tOsuPrefix:       pulumi.String(\"new-export\"),\n\t\t\t\t\tOsuApiKeys: outscale.ImageExportTaskOsuExportOsuApiKeyArray{\n\t\t\t\t\t\t\u0026outscale.ImageExportTaskOsuExportOsuApiKeyArgs{\n\t\t\t\t\t\t\tApiKeyId:  pulumi.Any(accessKeyId),\n\t\t\t\t\t\t\tSecretKey: pulumi.Any(secretKeyId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: outscale.ImageExportTaskTagArray{\n\t\t\t\t\u0026outscale.ImageExportTaskTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-snapshot-export-task\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWaitForCompletion: pulumi.Bool(false),\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.outscale.ImageExportTask;\nimport com.pulumi.outscale.ImageExportTaskArgs;\nimport com.pulumi.outscale.inputs.ImageExportTaskOsuExportArgs;\nimport com.pulumi.outscale.inputs.ImageExportTaskTagArgs;\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        var imageExportTask01 = new ImageExportTask(\"imageExportTask01\", ImageExportTaskArgs.builder()\n            .imageId(image01.imageId())\n            .osuExports(ImageExportTaskOsuExportArgs.builder()\n                .diskImageFormat(\"qcow2\")\n                .osuBucket(\"terraform-bucket\")\n                .osuPrefix(\"new-export\")\n                .osuApiKeys(ImageExportTaskOsuExportOsuApiKeyArgs.builder()\n                    .apiKeyId(accessKeyId)\n                    .secretKey(secretKeyId)\n                    .build())\n                .build())\n            .tags(ImageExportTaskTagArgs.builder()\n                .key(\"Name\")\n                .value(\"terraform-snapshot-export-task\")\n                .build())\n            .waitForCompletion(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  imageExportTask01:\n    type: outscale:ImageExportTask\n    name: image_export_task01\n    properties:\n      imageId: ${image01.imageId}\n      osuExports:\n        - diskImageFormat: qcow2\n          osuBucket: terraform-bucket\n          osuPrefix: new-export\n          osuApiKeys:\n            - apiKeyId: ${accessKeyId}\n              secretKey: ${secretKeyId}\n      tags:\n        - key: Name\n          value: terraform-snapshot-export-task\n      waitForCompletion: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"comment":{"type":"string","description":"If the OMI export task fails, an error message appears.\n"},"imageExportTaskId":{"type":"string"},"imageId":{"type":"string","description":"The ID of the OMI to export.\n"},"osuExports":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageExportTaskOsuExport:ImageExportTaskOsuExport"},"description":"Information about the OOS export task to create.\n"},"progress":{"type":"number","description":"The progress of the OMI export task, as a percentage.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the OMI export task (`pending/queued` \\| \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageExportTaskTag:ImageExportTaskTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"taskId":{"type":"string","description":"The ID of the OMI export task.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FImageExportTaskTimeouts:ImageExportTaskTimeouts"},"waitForCompletion":{"type":"boolean","description":"By default or if set to true, the resource is returned only after the export task is completed. If false, the resource returns immediately without waiting for the export task to complete.\n"}},"type":"object","required":["comment","imageExportTaskId","imageId","osuExports","progress","requestId","state","taskId"],"inputProperties":{"imageExportTaskId":{"type":"string"},"imageId":{"type":"string","description":"The ID of the OMI to export.\n"},"osuExports":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageExportTaskOsuExport:ImageExportTaskOsuExport"},"description":"Information about the OOS export task to create.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageExportTaskTag:ImageExportTaskTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FImageExportTaskTimeouts:ImageExportTaskTimeouts"},"waitForCompletion":{"type":"boolean","description":"By default or if set to true, the resource is returned only after the export task is completed. If false, the resource returns immediately without waiting for the export task to complete.\n"}},"requiredInputs":["imageId","osuExports"],"stateInputs":{"description":"Input properties used for looking up and filtering ImageExportTask resources.\n","properties":{"comment":{"type":"string","description":"If the OMI export task fails, an error message appears.\n"},"imageExportTaskId":{"type":"string"},"imageId":{"type":"string","description":"The ID of the OMI to export.\n"},"osuExports":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageExportTaskOsuExport:ImageExportTaskOsuExport"},"description":"Information about the OOS export task to create.\n"},"progress":{"type":"number","description":"The progress of the OMI export task, as a percentage.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the OMI export task (`pending/queued` \\| \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageExportTaskTag:ImageExportTaskTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"taskId":{"type":"string","description":"The ID of the OMI export task.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FImageExportTaskTimeouts:ImageExportTaskTimeouts"},"waitForCompletion":{"type":"boolean","description":"By default or if set to true, the resource is returned only after the export task is completed. If false, the resource returns immediately without waiting for the export task to complete.\n"}},"type":"object"}},"outscale:index/imageLaunchPermission:ImageLaunchPermission":{"description":"Manages an image launch permission.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-OMIs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#updateimage).\n\n## Example Usage\n\n### Add permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst image01 = new outscale.ImageLaunchPermission(\"image01\", {\n    imageId: \"ami-12345678\",\n    permissionAdditions: {\n        accountIds: [\"012345678910\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage01 = outscale.ImageLaunchPermission(\"image01\",\n    image_id=\"ami-12345678\",\n    permission_additions={\n        \"account_ids\": [\"012345678910\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var image01 = new Outscale.ImageLaunchPermission(\"image01\", new()\n    {\n        ImageId = \"ami-12345678\",\n        PermissionAdditions = new Outscale.Inputs.ImageLaunchPermissionPermissionAdditionsArgs\n        {\n            AccountIds = new[]\n            {\n                \"012345678910\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewImageLaunchPermission(ctx, \"image01\", \u0026outscale.ImageLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tPermissionAdditions: \u0026outscale.ImageLaunchPermissionPermissionAdditionsArgs{\n\t\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"012345678910\"),\n\t\t\t\t},\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.outscale.ImageLaunchPermission;\nimport com.pulumi.outscale.ImageLaunchPermissionArgs;\nimport com.pulumi.outscale.inputs.ImageLaunchPermissionPermissionAdditionsArgs;\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        var image01 = new ImageLaunchPermission(\"image01\", ImageLaunchPermissionArgs.builder()\n            .imageId(\"ami-12345678\")\n            .permissionAdditions(ImageLaunchPermissionPermissionAdditionsArgs.builder()\n                .accountIds(\"012345678910\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  image01:\n    type: outscale:ImageLaunchPermission\n    properties:\n      imageId: ami-12345678\n      permissionAdditions:\n        accountIds:\n          - '012345678910'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Remove permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst image02 = new outscale.ImageLaunchPermission(\"image02\", {\n    imageId: \"ami-12345678\",\n    permissionRemovals: {\n        accountIds: [\"012345678910\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage02 = outscale.ImageLaunchPermission(\"image02\",\n    image_id=\"ami-12345678\",\n    permission_removals={\n        \"account_ids\": [\"012345678910\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var image02 = new Outscale.ImageLaunchPermission(\"image02\", new()\n    {\n        ImageId = \"ami-12345678\",\n        PermissionRemovals = new Outscale.Inputs.ImageLaunchPermissionPermissionRemovalsArgs\n        {\n            AccountIds = new[]\n            {\n                \"012345678910\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewImageLaunchPermission(ctx, \"image02\", \u0026outscale.ImageLaunchPermissionArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tPermissionRemovals: \u0026outscale.ImageLaunchPermissionPermissionRemovalsArgs{\n\t\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"012345678910\"),\n\t\t\t\t},\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.outscale.ImageLaunchPermission;\nimport com.pulumi.outscale.ImageLaunchPermissionArgs;\nimport com.pulumi.outscale.inputs.ImageLaunchPermissionPermissionRemovalsArgs;\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        var image02 = new ImageLaunchPermission(\"image02\", ImageLaunchPermissionArgs.builder()\n            .imageId(\"ami-12345678\")\n            .permissionRemovals(ImageLaunchPermissionPermissionRemovalsArgs.builder()\n                .accountIds(\"012345678910\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  image02:\n    type: outscale:ImageLaunchPermission\n    properties:\n      imageId: ami-12345678\n      permissionRemovals:\n        accountIds:\n          - '012345678910'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"The description of the OMI.\n"},"imageId":{"type":"string","description":"The ID of the OMI you want to modify.\n"},"imageLaunchPermissionId":{"type":"string"},"permissionAdditions":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionPermissionAdditions:ImageLaunchPermissionPermissionAdditions","description":"Information about the users to whom you want to give permissions for the resource.\n"},"permissionRemovals":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionPermissionRemovals:ImageLaunchPermissionPermissionRemovals","description":"Information about the users from whom you want to remove permissions for the resource.\n"},"permissionsToLaunches":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionPermissionsToLaunch:ImageLaunchPermissionPermissionsToLaunch"},"description":"Permissions for the resource.\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionTimeouts:ImageLaunchPermissionTimeouts"}},"type":"object","required":["description","imageId","imageLaunchPermissionId","permissionsToLaunches","requestId"],"inputProperties":{"imageId":{"type":"string","description":"The ID of the OMI you want to modify.\n"},"imageLaunchPermissionId":{"type":"string"},"permissionAdditions":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionPermissionAdditions:ImageLaunchPermissionPermissionAdditions","description":"Information about the users to whom you want to give permissions for the resource.\n"},"permissionRemovals":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionPermissionRemovals:ImageLaunchPermissionPermissionRemovals","description":"Information about the users from whom you want to remove permissions for the resource.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionTimeouts:ImageLaunchPermissionTimeouts"}},"requiredInputs":["imageId"],"stateInputs":{"description":"Input properties used for looking up and filtering ImageLaunchPermission resources.\n","properties":{"description":{"type":"string","description":"The description of the OMI.\n"},"imageId":{"type":"string","description":"The ID of the OMI you want to modify.\n"},"imageLaunchPermissionId":{"type":"string"},"permissionAdditions":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionPermissionAdditions:ImageLaunchPermissionPermissionAdditions","description":"Information about the users to whom you want to give permissions for the resource.\n"},"permissionRemovals":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionPermissionRemovals:ImageLaunchPermissionPermissionRemovals","description":"Information about the users from whom you want to remove permissions for the resource.\n"},"permissionsToLaunches":{"type":"array","items":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionPermissionsToLaunch:ImageLaunchPermissionPermissionsToLaunch"},"description":"Permissions for the resource.\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FImageLaunchPermissionTimeouts:ImageLaunchPermissionTimeouts"}},"type":"object"}},"outscale:index/internetService:InternetService":{"description":"Manages an Internet service.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Internet-Services.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-internetservice).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst internetService01 = new outscale.InternetService(\"internet_service01\", {});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ninternet_service01 = outscale.InternetService(\"internet_service01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var internetService01 = new Outscale.InternetService(\"internet_service01\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewInternetService(ctx, \"internet_service01\", nil)\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.outscale.InternetService;\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        var internetService01 = new InternetService(\"internetService01\");\n\n    }\n}\n```\n```yaml\nresources:\n  internetService01:\n    type: outscale:InternetService\n    name: internet_service01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn internet service can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/internetService:InternetService ImportedInternetService igw-12345678\n```\n\n","properties":{"internetServiceId":{"type":"string","description":"The ID of the internet service.\n"},"netId":{"type":"string","description":"The ID of the Net attached to the internet service.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the attachment of the internet service to the Net (always \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FInternetServiceTag:InternetServiceTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FInternetServiceTimeouts:InternetServiceTimeouts"}},"type":"object","required":["internetServiceId","netId","requestId","state"],"inputProperties":{"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FInternetServiceTag:InternetServiceTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FInternetServiceTimeouts:InternetServiceTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering InternetService resources.\n","properties":{"internetServiceId":{"type":"string","description":"The ID of the internet service.\n"},"netId":{"type":"string","description":"The ID of the Net attached to the internet service.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the attachment of the internet service to the Net (always \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FInternetServiceTag:InternetServiceTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FInternetServiceTimeouts:InternetServiceTimeouts"}},"type":"object"}},"outscale:index/internetServiceLink:InternetServiceLink":{"description":"Manages an Internet service link.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Internet-Services.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-internetservice).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/18\"});\nconst internetService01 = new outscale.InternetService(\"internet_service01\", {});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/18\")\ninternet_service01 = outscale.InternetService(\"internet_service01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/18\",\n    });\n\n    var internetService01 = new Outscale.InternetService(\"internet_service01\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/18\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewInternetService(ctx, \"internet_service01\", nil)\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.InternetService;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/18\")\n            .build());\n\n        var internetService01 = new InternetService(\"internetService01\");\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/18\n  internetService01:\n    type: outscale:InternetService\n    name: internet_service01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Link an Internet service to a Net\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internet_service_link01\", {\n    internetServiceId: internetService01.internetServiceId,\n    netId: net01.netId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ninternet_service_link01 = outscale.InternetServiceLink(\"internet_service_link01\",\n    internet_service_id=internet_service01[\"internetServiceId\"],\n    net_id=net01[\"netId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var internetServiceLink01 = new Outscale.InternetServiceLink(\"internet_service_link01\", new()\n    {\n        InternetServiceId = internetService01.InternetServiceId,\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewInternetServiceLink(ctx, \"internet_service_link01\", \u0026outscale.InternetServiceLinkArgs{\n\t\t\tInternetServiceId: pulumi.Any(internetService01.InternetServiceId),\n\t\t\tNetId:             pulumi.Any(net01.NetId),\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.outscale.InternetServiceLink;\nimport com.pulumi.outscale.InternetServiceLinkArgs;\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        var internetServiceLink01 = new InternetServiceLink(\"internetServiceLink01\", InternetServiceLinkArgs.builder()\n            .internetServiceId(internetService01.internetServiceId())\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  internetServiceLink01:\n    type: outscale:InternetServiceLink\n    name: internet_service_link01\n    properties:\n      internetServiceId: ${internetService01.internetServiceId}\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn internet service link can be imported using the internet service ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/internetServiceLink:InternetServiceLink ImportedInternetServiceLink igw-87654321\n```\n\n","properties":{"internetServiceId":{"type":"string","description":"The ID of the internet service you want to attach.\n"},"netId":{"type":"string","description":"The ID of the Net to which you want to attach the internet service.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the attachment of the Internet service to the Net (always \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FInternetServiceLinkTag:InternetServiceLinkTag"},"description":"One or more tags associated with the Internet service.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FInternetServiceLinkTimeouts:InternetServiceLinkTimeouts"}},"type":"object","required":["internetServiceId","netId","requestId","state","tags"],"inputProperties":{"internetServiceId":{"type":"string","description":"The ID of the internet service you want to attach.\n"},"netId":{"type":"string","description":"The ID of the Net to which you want to attach the internet service.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FInternetServiceLinkTimeouts:InternetServiceLinkTimeouts"}},"requiredInputs":["internetServiceId","netId"],"stateInputs":{"description":"Input properties used for looking up and filtering InternetServiceLink resources.\n","properties":{"internetServiceId":{"type":"string","description":"The ID of the internet service you want to attach.\n"},"netId":{"type":"string","description":"The ID of the Net to which you want to attach the internet service.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the attachment of the Internet service to the Net (always \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FInternetServiceLinkTag:InternetServiceLinkTag"},"description":"One or more tags associated with the Internet service.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FInternetServiceLinkTimeouts:InternetServiceLinkTimeouts"}},"type":"object"}},"outscale:index/keypair:Keypair":{"description":"Manages a keypair.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Keypairs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-keypair).\n\n## Example Usage\n\n### Create a keypair\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst keypair01 = new outscale.Keypair(\"keypair01\", {keypairName: \"terraform-keypair-create\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nkeypair01 = outscale.Keypair(\"keypair01\", keypair_name=\"terraform-keypair-create\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var keypair01 = new Outscale.Keypair(\"keypair01\", new()\n    {\n        KeypairName = \"terraform-keypair-create\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewKeypair(ctx, \"keypair01\", \u0026outscale.KeypairArgs{\n\t\t\tKeypairName: pulumi.String(\"terraform-keypair-create\"),\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.outscale.Keypair;\nimport com.pulumi.outscale.KeypairArgs;\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        var keypair01 = new Keypair(\"keypair01\", KeypairArgs.builder()\n            .keypairName(\"terraform-keypair-create\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  keypair01:\n    type: outscale:Keypair\n    properties:\n      keypairName: terraform-keypair-create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA keypair can be imported using its name. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/keypair:Keypair ImportedKeypair keypair_id\n```\n\n","properties":{"keypairFingerprint":{"type":"string","description":"The MD5 public key fingerprint, as specified in section 4 of RFC 4716.\n"},"keypairId":{"type":"string","description":"The ID of the keypair.\n"},"keypairName":{"type":"string","description":"A unique name for the keypair, with a maximum length of 255 [ASCII printable characters](https://en.wikipedia.org/wiki/ASCII#Printable_characters).\n"},"keypairType":{"type":"string","description":"The type of the keypair (`ssh-rsa`, `ssh-ed25519`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`).\n"},"privateKey":{"type":"string","description":"The private key, returned only if you are creating a keypair (not if you are importing). When you save this private key in a .rsa file, make sure you replace the `\\n` escape sequences with real line breaks.\n"},"publicKey":{"type":"string","description":"The public key to import in your account, if you are importing an existing keypair. This value must be Base64-encoded.\n"},"requestId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FKeypairTag:KeypairTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FKeypairTimeouts:KeypairTimeouts"}},"type":"object","required":["keypairFingerprint","keypairId","keypairName","keypairType","privateKey","requestId"],"inputProperties":{"keypairName":{"type":"string","description":"A unique name for the keypair, with a maximum length of 255 [ASCII printable characters](https://en.wikipedia.org/wiki/ASCII#Printable_characters).\n"},"publicKey":{"type":"string","description":"The public key to import in your account, if you are importing an existing keypair. This value must be Base64-encoded.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FKeypairTag:KeypairTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FKeypairTimeouts:KeypairTimeouts"}},"requiredInputs":["keypairName"],"stateInputs":{"description":"Input properties used for looking up and filtering Keypair resources.\n","properties":{"keypairFingerprint":{"type":"string","description":"The MD5 public key fingerprint, as specified in section 4 of RFC 4716.\n"},"keypairId":{"type":"string","description":"The ID of the keypair.\n"},"keypairName":{"type":"string","description":"A unique name for the keypair, with a maximum length of 255 [ASCII printable characters](https://en.wikipedia.org/wiki/ASCII#Printable_characters).\n"},"keypairType":{"type":"string","description":"The type of the keypair (`ssh-rsa`, `ssh-ed25519`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`).\n"},"privateKey":{"type":"string","description":"The private key, returned only if you are creating a keypair (not if you are importing). When you save this private key in a .rsa file, make sure you replace the `\\n` escape sequences with real line breaks.\n"},"publicKey":{"type":"string","description":"The public key to import in your account, if you are importing an existing keypair. This value must be Base64-encoded.\n"},"requestId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FKeypairTag:KeypairTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FKeypairTimeouts:KeypairTimeouts"}},"type":"object"}},"outscale:index/loadBalancer:LoadBalancer":{"description":"Manages a load balancer.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-loadbalancer).\n\n## Example Usage\n\n### Create a load balancer in the public Cloud\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancer01 = new outscale.LoadBalancer(\"load_balancer01\", {\n    loadBalancerName: \"terraform-public-load-balancer\",\n    subregionNames: [`${region}a`],\n    listeners: [{\n        backendPort: 8080,\n        backendProtocol: \"HTTP\",\n        loadBalancerProtocol: \"HTTP\",\n        loadBalancerPort: 8080,\n    }],\n    tags: [{\n        key: \"name\",\n        value: \"terraform-public-load-balancer\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nload_balancer01 = outscale.LoadBalancer(\"load_balancer01\",\n    load_balancer_name=\"terraform-public-load-balancer\",\n    subregion_names=[f\"{region}a\"],\n    listeners=[{\n        \"backend_port\": 8080,\n        \"backend_protocol\": \"HTTP\",\n        \"load_balancer_protocol\": \"HTTP\",\n        \"load_balancer_port\": 8080,\n    }],\n    tags=[{\n        \"key\": \"name\",\n        \"value\": \"terraform-public-load-balancer\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadBalancer01 = new Outscale.LoadBalancer(\"load_balancer01\", new()\n    {\n        LoadBalancerName = \"terraform-public-load-balancer\",\n        SubregionNames = new[]\n        {\n            $\"{region}a\",\n        },\n        Listeners = new[]\n        {\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 8080,\n                BackendProtocol = \"HTTP\",\n                LoadBalancerProtocol = \"HTTP\",\n                LoadBalancerPort = 8080,\n            },\n        },\n        Tags = new[]\n        {\n            new Outscale.Inputs.LoadBalancerTagArgs\n            {\n                Key = \"name\",\n                Value = \"terraform-public-load-balancer\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancer(ctx, \"load_balancer01\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-public-load-balancer\"),\n\t\t\tSubregionNames: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"%va\", region),\n\t\t\t},\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(8080),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: outscale.LoadBalancerTagArray{\n\t\t\t\t\u0026outscale.LoadBalancerTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-public-load-balancer\"),\n\t\t\t\t},\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.outscale.LoadBalancer;\nimport com.pulumi.outscale.LoadBalancerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerTagArgs;\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        var loadBalancer01 = new LoadBalancer(\"loadBalancer01\", LoadBalancerArgs.builder()\n            .loadBalancerName(\"terraform-public-load-balancer\")\n            .subregionNames(String.format(\"%sa\", region))\n            .listeners(LoadBalancerListenerArgs.builder()\n                .backendPort(8080.0)\n                .backendProtocol(\"HTTP\")\n                .loadBalancerProtocol(\"HTTP\")\n                .loadBalancerPort(8080.0)\n                .build())\n            .tags(LoadBalancerTagArgs.builder()\n                .key(\"name\")\n                .value(\"terraform-public-load-balancer\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loadBalancer01:\n    type: outscale:LoadBalancer\n    name: load_balancer01\n    properties:\n      loadBalancerName: terraform-public-load-balancer\n      subregionNames:\n        - ${region}a\n      listeners:\n        - backendPort: 8080\n          backendProtocol: HTTP\n          loadBalancerProtocol: HTTP\n          loadBalancerPort: 8080\n      tags:\n        - key: name\n          value: terraform-public-load-balancer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a load balancer in a Net\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n    netId: net01.netId,\n    ipRange: \"10.0.0.0/24\",\n    tags: [{\n        key: \"Name\",\n        value: \"terraform-subnet-for-internal-load-balancer\",\n    }],\n});\nconst securityGroup01 = new outscale.SecurityGroup(\"security_group01\", {\n    description: \"Terraform security group for internal load balancer\",\n    securityGroupName: \"terraform-security-group-for-internal-load-balancer\",\n    netId: net01.netId,\n    tags: [{\n        key: \"Name\",\n        value: \"terraform-security-group-for-internal-load-balancer\",\n    }],\n});\nconst loadBalancer02 = new outscale.LoadBalancer(\"load_balancer02\", {\n    loadBalancerName: \"terraform-private-load-balancer\",\n    listeners: [{\n        backendPort: 80,\n        backendProtocol: \"TCP\",\n        loadBalancerProtocol: \"TCP\",\n        loadBalancerPort: 80,\n    }],\n    subnets: [subnet01.subnetId],\n    securityGroups: [securityGroup01.securityGroupId],\n    loadBalancerType: \"internal\",\n    tags: [{\n        key: \"name\",\n        value: \"terraform-private-load-balancer\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nsubnet01 = outscale.Subnet(\"subnet01\",\n    net_id=net01.net_id,\n    ip_range=\"10.0.0.0/24\",\n    tags=[{\n        \"key\": \"Name\",\n        \"value\": \"terraform-subnet-for-internal-load-balancer\",\n    }])\nsecurity_group01 = outscale.SecurityGroup(\"security_group01\",\n    description=\"Terraform security group for internal load balancer\",\n    security_group_name=\"terraform-security-group-for-internal-load-balancer\",\n    net_id=net01.net_id,\n    tags=[{\n        \"key\": \"Name\",\n        \"value\": \"terraform-security-group-for-internal-load-balancer\",\n    }])\nload_balancer02 = outscale.LoadBalancer(\"load_balancer02\",\n    load_balancer_name=\"terraform-private-load-balancer\",\n    listeners=[{\n        \"backend_port\": 80,\n        \"backend_protocol\": \"TCP\",\n        \"load_balancer_protocol\": \"TCP\",\n        \"load_balancer_port\": 80,\n    }],\n    subnets=[subnet01.subnet_id],\n    security_groups=[security_group01.security_group_id],\n    load_balancer_type=\"internal\",\n    tags=[{\n        \"key\": \"name\",\n        \"value\": \"terraform-private-load-balancer\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n    {\n        NetId = net01.NetId,\n        IpRange = \"10.0.0.0/24\",\n        Tags = new[]\n        {\n            new Outscale.Inputs.SubnetTagArgs\n            {\n                Key = \"Name\",\n                Value = \"terraform-subnet-for-internal-load-balancer\",\n            },\n        },\n    });\n\n    var securityGroup01 = new Outscale.SecurityGroup(\"security_group01\", new()\n    {\n        Description = \"Terraform security group for internal load balancer\",\n        SecurityGroupName = \"terraform-security-group-for-internal-load-balancer\",\n        NetId = net01.NetId,\n        Tags = new[]\n        {\n            new Outscale.Inputs.SecurityGroupTagArgs\n            {\n                Key = \"Name\",\n                Value = \"terraform-security-group-for-internal-load-balancer\",\n            },\n        },\n    });\n\n    var loadBalancer02 = new Outscale.LoadBalancer(\"load_balancer02\", new()\n    {\n        LoadBalancerName = \"terraform-private-load-balancer\",\n        Listeners = new[]\n        {\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 80,\n                BackendProtocol = \"TCP\",\n                LoadBalancerProtocol = \"TCP\",\n                LoadBalancerPort = 80,\n            },\n        },\n        Subnets = new[]\n        {\n            subnet01.SubnetId,\n        },\n        SecurityGroups = new[]\n        {\n            securityGroup01.SecurityGroupId,\n        },\n        LoadBalancerType = \"internal\",\n        Tags = new[]\n        {\n            new Outscale.Inputs.LoadBalancerTagArgs\n            {\n                Key = \"name\",\n                Value = \"terraform-private-load-balancer\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet01, err := outscale.NewSubnet(ctx, \"subnet01\", \u0026outscale.SubnetArgs{\n\t\t\tNetId:   net01.NetId,\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tTags: outscale.SubnetTagArray{\n\t\t\t\t\u0026outscale.SubnetTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-subnet-for-internal-load-balancer\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecurityGroup01, err := outscale.NewSecurityGroup(ctx, \"security_group01\", \u0026outscale.SecurityGroupArgs{\n\t\t\tDescription:       pulumi.String(\"Terraform security group for internal load balancer\"),\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-security-group-for-internal-load-balancer\"),\n\t\t\tNetId:             net01.NetId,\n\t\t\tTags: outscale.SecurityGroupTagArray{\n\t\t\t\t\u0026outscale.SecurityGroupTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-security-group-for-internal-load-balancer\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewLoadBalancer(ctx, \"load_balancer02\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-private-load-balancer\"),\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(80),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tsubnet01.SubnetId,\n\t\t\t},\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsecurityGroup01.SecurityGroupId,\n\t\t\t},\n\t\t\tLoadBalancerType: pulumi.String(\"internal\"),\n\t\t\tTags: outscale.LoadBalancerTagArray{\n\t\t\t\t\u0026outscale.LoadBalancerTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-private-load-balancer\"),\n\t\t\t\t},\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.inputs.SubnetTagArgs;\nimport com.pulumi.outscale.SecurityGroup;\nimport com.pulumi.outscale.SecurityGroupArgs;\nimport com.pulumi.outscale.inputs.SecurityGroupTagArgs;\nimport com.pulumi.outscale.LoadBalancer;\nimport com.pulumi.outscale.LoadBalancerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerTagArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder()\n            .netId(net01.netId())\n            .ipRange(\"10.0.0.0/24\")\n            .tags(SubnetTagArgs.builder()\n                .key(\"Name\")\n                .value(\"terraform-subnet-for-internal-load-balancer\")\n                .build())\n            .build());\n\n        var securityGroup01 = new SecurityGroup(\"securityGroup01\", SecurityGroupArgs.builder()\n            .description(\"Terraform security group for internal load balancer\")\n            .securityGroupName(\"terraform-security-group-for-internal-load-balancer\")\n            .netId(net01.netId())\n            .tags(SecurityGroupTagArgs.builder()\n                .key(\"Name\")\n                .value(\"terraform-security-group-for-internal-load-balancer\")\n                .build())\n            .build());\n\n        var loadBalancer02 = new LoadBalancer(\"loadBalancer02\", LoadBalancerArgs.builder()\n            .loadBalancerName(\"terraform-private-load-balancer\")\n            .listeners(LoadBalancerListenerArgs.builder()\n                .backendPort(80.0)\n                .backendProtocol(\"TCP\")\n                .loadBalancerProtocol(\"TCP\")\n                .loadBalancerPort(80.0)\n                .build())\n            .subnets(subnet01.subnetId())\n            .securityGroups(securityGroup01.securityGroupId())\n            .loadBalancerType(\"internal\")\n            .tags(LoadBalancerTagArgs.builder()\n                .key(\"name\")\n                .value(\"terraform-private-load-balancer\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  subnet01:\n    type: outscale:Subnet\n    properties:\n      netId: ${net01.netId}\n      ipRange: 10.0.0.0/24\n      tags:\n        - key: Name\n          value: terraform-subnet-for-internal-load-balancer\n  securityGroup01:\n    type: outscale:SecurityGroup\n    name: security_group01\n    properties:\n      description: Terraform security group for internal load balancer\n      securityGroupName: terraform-security-group-for-internal-load-balancer\n      netId: ${net01.netId}\n      tags:\n        - key: Name\n          value: terraform-security-group-for-internal-load-balancer\n  loadBalancer02:\n    type: outscale:LoadBalancer\n    name: load_balancer02\n    properties:\n      loadBalancerName: terraform-private-load-balancer\n      listeners:\n        - backendPort: 80\n          backendProtocol: TCP\n          loadBalancerProtocol: TCP\n          loadBalancerPort: 80\n      subnets:\n        - ${subnet01.subnetId}\n      securityGroups:\n        - ${securityGroup01.securityGroupId}\n      loadBalancerType: internal\n      tags:\n        - key: name\n          value: terraform-private-load-balancer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an internet-facing load balancer in a Net\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net02 = new outscale.Net(\"net02\", {ipRange: \"10.0.0.0/16\"});\nconst subnet02 = new outscale.Subnet(\"subnet02\", {\n    netId: net02.netId,\n    ipRange: \"10.0.0.0/24\",\n    tags: [{\n        key: \"Name\",\n        value: \"terraform-security-group-for-load-balancer\",\n    }],\n});\nconst internetService01 = new outscale.InternetService(\"internet_service01\", {}, {\n    dependsOn: [net02],\n});\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internet_service_link01\", {\n    internetServiceId: internetService01.internetServiceId,\n    netId: net02.netId,\n});\nconst routeTable01 = new outscale.RouteTable(\"route_table01\", {\n    netId: net02.netId,\n    tags: [{\n        key: \"name\",\n        value: \"terraform-route-table-for-load-balancer\",\n    }],\n});\nconst route01 = new outscale.Route(\"route01\", {\n    gatewayId: internetService01.id,\n    destinationIpRange: \"0.0.0.0/0\",\n    routeTableId: routeTable01.routeTableId,\n});\nconst routeTableLink01 = new outscale.RouteTableLink(\"route_table_link01\", {\n    routeTableId: routeTable01.routeTableId,\n    subnetId: subnet02.subnetId,\n});\nconst loadBalancer03 = new outscale.LoadBalancer(\"load_balancer03\", {\n    loadBalancerName: \"terraform-internet-private-lb\",\n    listeners: [\n        {\n            backendPort: 80,\n            backendProtocol: \"TCP\",\n            loadBalancerProtocol: \"TCP\",\n            loadBalancerPort: 80,\n        },\n        {\n            backendPort: 8080,\n            backendProtocol: \"HTTP\",\n            loadBalancerProtocol: \"HTTP\",\n            loadBalancerPort: 8080,\n        },\n    ],\n    subnets: [subnet02.subnetId],\n    loadBalancerType: \"internet-facing\",\n    publicIp: \"192.0.2.0\",\n    tags: [{\n        key: \"name\",\n        value: \"terraform-internet-private-lb\",\n    }],\n}, {\n    dependsOn: [\n        route01,\n        routeTableLink01,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet02 = outscale.Net(\"net02\", ip_range=\"10.0.0.0/16\")\nsubnet02 = outscale.Subnet(\"subnet02\",\n    net_id=net02.net_id,\n    ip_range=\"10.0.0.0/24\",\n    tags=[{\n        \"key\": \"Name\",\n        \"value\": \"terraform-security-group-for-load-balancer\",\n    }])\ninternet_service01 = outscale.InternetService(\"internet_service01\", opts = pulumi.ResourceOptions(depends_on=[net02]))\ninternet_service_link01 = outscale.InternetServiceLink(\"internet_service_link01\",\n    internet_service_id=internet_service01.internet_service_id,\n    net_id=net02.net_id)\nroute_table01 = outscale.RouteTable(\"route_table01\",\n    net_id=net02.net_id,\n    tags=[{\n        \"key\": \"name\",\n        \"value\": \"terraform-route-table-for-load-balancer\",\n    }])\nroute01 = outscale.Route(\"route01\",\n    gateway_id=internet_service01.id,\n    destination_ip_range=\"0.0.0.0/0\",\n    route_table_id=route_table01.route_table_id)\nroute_table_link01 = outscale.RouteTableLink(\"route_table_link01\",\n    route_table_id=route_table01.route_table_id,\n    subnet_id=subnet02.subnet_id)\nload_balancer03 = outscale.LoadBalancer(\"load_balancer03\",\n    load_balancer_name=\"terraform-internet-private-lb\",\n    listeners=[\n        {\n            \"backend_port\": 80,\n            \"backend_protocol\": \"TCP\",\n            \"load_balancer_protocol\": \"TCP\",\n            \"load_balancer_port\": 80,\n        },\n        {\n            \"backend_port\": 8080,\n            \"backend_protocol\": \"HTTP\",\n            \"load_balancer_protocol\": \"HTTP\",\n            \"load_balancer_port\": 8080,\n        },\n    ],\n    subnets=[subnet02.subnet_id],\n    load_balancer_type=\"internet-facing\",\n    public_ip=\"192.0.2.0\",\n    tags=[{\n        \"key\": \"name\",\n        \"value\": \"terraform-internet-private-lb\",\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[\n            route01,\n            route_table_link01,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net02 = new Outscale.Net(\"net02\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var subnet02 = new Outscale.Subnet(\"subnet02\", new()\n    {\n        NetId = net02.NetId,\n        IpRange = \"10.0.0.0/24\",\n        Tags = new[]\n        {\n            new Outscale.Inputs.SubnetTagArgs\n            {\n                Key = \"Name\",\n                Value = \"terraform-security-group-for-load-balancer\",\n            },\n        },\n    });\n\n    var internetService01 = new Outscale.InternetService(\"internet_service01\", new()\n    {\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            net02,\n        },\n    });\n\n    var internetServiceLink01 = new Outscale.InternetServiceLink(\"internet_service_link01\", new()\n    {\n        InternetServiceId = internetService01.InternetServiceId,\n        NetId = net02.NetId,\n    });\n\n    var routeTable01 = new Outscale.RouteTable(\"route_table01\", new()\n    {\n        NetId = net02.NetId,\n        Tags = new[]\n        {\n            new Outscale.Inputs.RouteTableTagArgs\n            {\n                Key = \"name\",\n                Value = \"terraform-route-table-for-load-balancer\",\n            },\n        },\n    });\n\n    var route01 = new Outscale.Route(\"route01\", new()\n    {\n        GatewayId = internetService01.Id,\n        DestinationIpRange = \"0.0.0.0/0\",\n        RouteTableId = routeTable01.RouteTableId,\n    });\n\n    var routeTableLink01 = new Outscale.RouteTableLink(\"route_table_link01\", new()\n    {\n        RouteTableId = routeTable01.RouteTableId,\n        SubnetId = subnet02.SubnetId,\n    });\n\n    var loadBalancer03 = new Outscale.LoadBalancer(\"load_balancer03\", new()\n    {\n        LoadBalancerName = \"terraform-internet-private-lb\",\n        Listeners = new[]\n        {\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 80,\n                BackendProtocol = \"TCP\",\n                LoadBalancerProtocol = \"TCP\",\n                LoadBalancerPort = 80,\n            },\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 8080,\n                BackendProtocol = \"HTTP\",\n                LoadBalancerProtocol = \"HTTP\",\n                LoadBalancerPort = 8080,\n            },\n        },\n        Subnets = new[]\n        {\n            subnet02.SubnetId,\n        },\n        LoadBalancerType = \"internet-facing\",\n        PublicIp = \"192.0.2.0\",\n        Tags = new[]\n        {\n            new Outscale.Inputs.LoadBalancerTagArgs\n            {\n                Key = \"name\",\n                Value = \"terraform-internet-private-lb\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            route01,\n            routeTableLink01,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet02, err := outscale.NewNet(ctx, \"net02\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet02, err := outscale.NewSubnet(ctx, \"subnet02\", \u0026outscale.SubnetArgs{\n\t\t\tNetId:   net02.NetId,\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tTags: outscale.SubnetTagArray{\n\t\t\t\t\u0026outscale.SubnetTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-security-group-for-load-balancer\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternetService01, err := outscale.NewInternetService(ctx, \"internet_service01\", nil, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tnet02,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewInternetServiceLink(ctx, \"internet_service_link01\", \u0026outscale.InternetServiceLinkArgs{\n\t\t\tInternetServiceId: internetService01.InternetServiceId,\n\t\t\tNetId:             net02.NetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trouteTable01, err := outscale.NewRouteTable(ctx, \"route_table01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: net02.NetId,\n\t\t\tTags: outscale.RouteTableTagArray{\n\t\t\t\t\u0026outscale.RouteTableTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-route-table-for-load-balancer\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\troute01, err := outscale.NewRoute(ctx, \"route01\", \u0026outscale.RouteArgs{\n\t\t\tGatewayId:          internetService01.ID(),\n\t\t\tDestinationIpRange: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tRouteTableId:       routeTable01.RouteTableId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trouteTableLink01, err := outscale.NewRouteTableLink(ctx, \"route_table_link01\", \u0026outscale.RouteTableLinkArgs{\n\t\t\tRouteTableId: routeTable01.RouteTableId,\n\t\t\tSubnetId:     subnet02.SubnetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewLoadBalancer(ctx, \"load_balancer03\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-internet-private-lb\"),\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(80),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(80),\n\t\t\t\t},\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(8080),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnets: pulumi.StringArray{\n\t\t\t\tsubnet02.SubnetId,\n\t\t\t},\n\t\t\tLoadBalancerType: pulumi.String(\"internet-facing\"),\n\t\t\tPublicIp:         pulumi.String(\"192.0.2.0\"),\n\t\t\tTags: outscale.LoadBalancerTagArray{\n\t\t\t\t\u0026outscale.LoadBalancerTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-internet-private-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\troute01,\n\t\t\trouteTableLink01,\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.inputs.SubnetTagArgs;\nimport com.pulumi.outscale.InternetService;\nimport com.pulumi.outscale.InternetServiceArgs;\nimport com.pulumi.outscale.InternetServiceLink;\nimport com.pulumi.outscale.InternetServiceLinkArgs;\nimport com.pulumi.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\nimport com.pulumi.outscale.inputs.RouteTableTagArgs;\nimport com.pulumi.outscale.Route;\nimport com.pulumi.outscale.RouteArgs;\nimport com.pulumi.outscale.RouteTableLink;\nimport com.pulumi.outscale.RouteTableLinkArgs;\nimport com.pulumi.outscale.LoadBalancer;\nimport com.pulumi.outscale.LoadBalancerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerTagArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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        var net02 = new Net(\"net02\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var subnet02 = new Subnet(\"subnet02\", SubnetArgs.builder()\n            .netId(net02.netId())\n            .ipRange(\"10.0.0.0/24\")\n            .tags(SubnetTagArgs.builder()\n                .key(\"Name\")\n                .value(\"terraform-security-group-for-load-balancer\")\n                .build())\n            .build());\n\n        var internetService01 = new InternetService(\"internetService01\", InternetServiceArgs.Empty, CustomResourceOptions.builder()\n            .dependsOn(net02)\n            .build());\n\n        var internetServiceLink01 = new InternetServiceLink(\"internetServiceLink01\", InternetServiceLinkArgs.builder()\n            .internetServiceId(internetService01.internetServiceId())\n            .netId(net02.netId())\n            .build());\n\n        var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder()\n            .netId(net02.netId())\n            .tags(RouteTableTagArgs.builder()\n                .key(\"name\")\n                .value(\"terraform-route-table-for-load-balancer\")\n                .build())\n            .build());\n\n        var route01 = new Route(\"route01\", RouteArgs.builder()\n            .gatewayId(internetService01.id())\n            .destinationIpRange(\"0.0.0.0/0\")\n            .routeTableId(routeTable01.routeTableId())\n            .build());\n\n        var routeTableLink01 = new RouteTableLink(\"routeTableLink01\", RouteTableLinkArgs.builder()\n            .routeTableId(routeTable01.routeTableId())\n            .subnetId(subnet02.subnetId())\n            .build());\n\n        var loadBalancer03 = new LoadBalancer(\"loadBalancer03\", LoadBalancerArgs.builder()\n            .loadBalancerName(\"terraform-internet-private-lb\")\n            .listeners(            \n                LoadBalancerListenerArgs.builder()\n                    .backendPort(80.0)\n                    .backendProtocol(\"TCP\")\n                    .loadBalancerProtocol(\"TCP\")\n                    .loadBalancerPort(80.0)\n                    .build(),\n                LoadBalancerListenerArgs.builder()\n                    .backendPort(8080.0)\n                    .backendProtocol(\"HTTP\")\n                    .loadBalancerProtocol(\"HTTP\")\n                    .loadBalancerPort(8080.0)\n                    .build())\n            .subnets(subnet02.subnetId())\n            .loadBalancerType(\"internet-facing\")\n            .publicIp(\"192.0.2.0\")\n            .tags(LoadBalancerTagArgs.builder()\n                .key(\"name\")\n                .value(\"terraform-internet-private-lb\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    route01,\n                    routeTableLink01)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net02:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  subnet02:\n    type: outscale:Subnet\n    properties:\n      netId: ${net02.netId}\n      ipRange: 10.0.0.0/24\n      tags:\n        - key: Name\n          value: terraform-security-group-for-load-balancer\n  internetService01:\n    type: outscale:InternetService\n    name: internet_service01\n    options:\n      dependsOn:\n        - ${net02}\n  internetServiceLink01:\n    type: outscale:InternetServiceLink\n    name: internet_service_link01\n    properties:\n      internetServiceId: ${internetService01.internetServiceId}\n      netId: ${net02.netId}\n  routeTable01:\n    type: outscale:RouteTable\n    name: route_table01\n    properties:\n      netId: ${net02.netId}\n      tags:\n        - key: name\n          value: terraform-route-table-for-load-balancer\n  route01:\n    type: outscale:Route\n    properties:\n      gatewayId: ${internetService01.id}\n      destinationIpRange: 0.0.0.0/0\n      routeTableId: ${routeTable01.routeTableId}\n  routeTableLink01:\n    type: outscale:RouteTableLink\n    name: route_table_link01\n    properties:\n      routeTableId: ${routeTable01.routeTableId}\n      subnetId: ${subnet02.subnetId}\n  loadBalancer03:\n    type: outscale:LoadBalancer\n    name: load_balancer03\n    properties:\n      loadBalancerName: terraform-internet-private-lb\n      listeners:\n        - backendPort: 80\n          backendProtocol: TCP\n          loadBalancerProtocol: TCP\n          loadBalancerPort: 80\n        - backendPort: 8080\n          backendProtocol: HTTP\n          loadBalancerProtocol: HTTP\n          loadBalancerPort: 8080\n      subnets:\n        - ${subnet02.subnetId}\n      loadBalancerType: internet-facing\n      publicIp: 192.0.2.0\n      tags:\n        - key: name\n          value: terraform-internet-private-lb\n    options:\n      dependsOn:\n        - ${route01}\n        - ${routeTableLink01}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA load balancer can be imported using its name. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/loadBalancer:LoadBalancer ImportedLbu Name-of-the-Lbu\n```\n\n","properties":{"accessLogs":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAccessLog:LoadBalancerAccessLog"},"description":"Information about access logs.\n"},"applicationStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerApplicationStickyCookiePolicy:LoadBalancerApplicationStickyCookiePolicy"},"description":"The stickiness policies defined for the load balancer.\n"},"backendIps":{"type":"array","items":{"type":"string"},"description":"One or more public IPs of backend VMs.\n"},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs for the load balancer.\n"},"dnsName":{"type":"string","description":"The DNS name of the load balancer.\n"},"healthChecks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerHealthCheck:LoadBalancerHealthCheck"},"description":"Information about the health check configuration.\n"},"listeners":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerListener:LoadBalancerListener"},"description":"One or more listeners to create.\n"},"loadBalancerId":{"type":"string"},"loadBalancerName":{"type":"string","description":"The unique name of the load balancer, with a maximum length of 32 alphanumeric characters and dashes (`-`). This name must not start or end with a dash.\n"},"loadBalancerStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerLoadBalancerStickyCookiePolicy:LoadBalancerLoadBalancerStickyCookiePolicy"},"description":"The policies defined for the load balancer.\n"},"loadBalancerType":{"type":"string","description":"The type of load balancer: `internet-facing` or \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e. Use this parameter only for load balancers in a Net.\n"},"netId":{"type":"string","description":"The ID of the Net for the load balancer.\n"},"publicIp":{"type":"string","description":"(internet-facing only) The public IP you want to associate with the load balancer. If not specified, a public IP owned by 3DS OUTSCALE is associated.\n"},"requestId":{"type":"string"},"securedCookies":{"type":"boolean","description":"Whether secure cookies are enabled for the load balancer.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"(Net only) One or more IDs of security groups you want to assign to the load balancer. If not specified, the default security group of the Net is assigned to the load balancer.\n"},"sourceSecurityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerSourceSecurityGroup:LoadBalancerSourceSecurityGroup"},"description":"Information about the source security group of the load balancer, which you can use as part of your inbound rules for your registered VMs.\u003cbr /\u003e\nTo only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"(Net only) The ID of the Subnet in which you want to create the load balancer. Regardless of this Subnet, the load balancer can distribute traffic to all Subnets. This parameter is required in a Net.\n"},"subregionNames":{"type":"array","items":{"type":"string"},"description":"(public Cloud only) The Subregion in which you want to create the load balancer. Regardless of this Subregion, the load balancer can distribute traffic to all Subregions. This parameter is required in the public Cloud.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerTag:LoadBalancerTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerTimeouts:LoadBalancerTimeouts"}},"type":"object","required":["applicationStickyCookiePolicies","backendIps","backendVmIds","dnsName","healthChecks","listeners","loadBalancerId","loadBalancerName","loadBalancerStickyCookiePolicies","loadBalancerType","netId","publicIp","requestId","securedCookies","securityGroups","sourceSecurityGroups","subnets","subregionNames"],"inputProperties":{"accessLogs":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAccessLog:LoadBalancerAccessLog"},"description":"Information about access logs.\n"},"listeners":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerListener:LoadBalancerListener"},"description":"One or more listeners to create.\n"},"loadBalancerId":{"type":"string"},"loadBalancerName":{"type":"string","description":"The unique name of the load balancer, with a maximum length of 32 alphanumeric characters and dashes (`-`). This name must not start or end with a dash.\n"},"loadBalancerType":{"type":"string","description":"The type of load balancer: `internet-facing` or \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e. Use this parameter only for load balancers in a Net.\n"},"publicIp":{"type":"string","description":"(internet-facing only) The public IP you want to associate with the load balancer. If not specified, a public IP owned by 3DS OUTSCALE is associated.\n"},"securedCookies":{"type":"boolean","description":"Whether secure cookies are enabled for the load balancer.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"(Net only) One or more IDs of security groups you want to assign to the load balancer. If not specified, the default security group of the Net is assigned to the load balancer.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"(Net only) The ID of the Subnet in which you want to create the load balancer. Regardless of this Subnet, the load balancer can distribute traffic to all Subnets. This parameter is required in a Net.\n"},"subregionNames":{"type":"array","items":{"type":"string"},"description":"(public Cloud only) The Subregion in which you want to create the load balancer. Regardless of this Subregion, the load balancer can distribute traffic to all Subregions. This parameter is required in the public Cloud.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerTag:LoadBalancerTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerTimeouts:LoadBalancerTimeouts"}},"requiredInputs":["listeners","loadBalancerName"],"stateInputs":{"description":"Input properties used for looking up and filtering LoadBalancer resources.\n","properties":{"accessLogs":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAccessLog:LoadBalancerAccessLog"},"description":"Information about access logs.\n"},"applicationStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerApplicationStickyCookiePolicy:LoadBalancerApplicationStickyCookiePolicy"},"description":"The stickiness policies defined for the load balancer.\n"},"backendIps":{"type":"array","items":{"type":"string"},"description":"One or more public IPs of backend VMs.\n"},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs for the load balancer.\n"},"dnsName":{"type":"string","description":"The DNS name of the load balancer.\n"},"healthChecks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerHealthCheck:LoadBalancerHealthCheck"},"description":"Information about the health check configuration.\n"},"listeners":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerListener:LoadBalancerListener"},"description":"One or more listeners to create.\n"},"loadBalancerId":{"type":"string"},"loadBalancerName":{"type":"string","description":"The unique name of the load balancer, with a maximum length of 32 alphanumeric characters and dashes (`-`). This name must not start or end with a dash.\n"},"loadBalancerStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerLoadBalancerStickyCookiePolicy:LoadBalancerLoadBalancerStickyCookiePolicy"},"description":"The policies defined for the load balancer.\n"},"loadBalancerType":{"type":"string","description":"The type of load balancer: `internet-facing` or \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e. Use this parameter only for load balancers in a Net.\n"},"netId":{"type":"string","description":"The ID of the Net for the load balancer.\n"},"publicIp":{"type":"string","description":"(internet-facing only) The public IP you want to associate with the load balancer. If not specified, a public IP owned by 3DS OUTSCALE is associated.\n"},"requestId":{"type":"string"},"securedCookies":{"type":"boolean","description":"Whether secure cookies are enabled for the load balancer.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"(Net only) One or more IDs of security groups you want to assign to the load balancer. If not specified, the default security group of the Net is assigned to the load balancer.\n"},"sourceSecurityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerSourceSecurityGroup:LoadBalancerSourceSecurityGroup"},"description":"Information about the source security group of the load balancer, which you can use as part of your inbound rules for your registered VMs.\u003cbr /\u003e\nTo only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"(Net only) The ID of the Subnet in which you want to create the load balancer. Regardless of this Subnet, the load balancer can distribute traffic to all Subnets. This parameter is required in a Net.\n"},"subregionNames":{"type":"array","items":{"type":"string"},"description":"(public Cloud only) The Subregion in which you want to create the load balancer. Regardless of this Subregion, the load balancer can distribute traffic to all Subregions. This parameter is required in the public Cloud.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerTag:LoadBalancerTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerTimeouts:LoadBalancerTimeouts"}},"type":"object"}},"outscale:index/loadBalancerAttributes:LoadBalancerAttributes":{"description":"Manages load balancer attributes.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#updateloadbalancer).\n\n## Example Usage\n\n### Required resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancer01 = new outscale.LoadBalancer(\"load_balancer01\", {\n    loadBalancerName: \"terraform-load-balancer\",\n    subregionNames: [\"eu-west-2a\"],\n    listeners: [\n        {\n            backendPort: 80,\n            backendProtocol: \"HTTP\",\n            loadBalancerProtocol: \"HTTP\",\n            loadBalancerPort: 80,\n        },\n        {\n            backendPort: 8080,\n            backendProtocol: \"HTTPS\",\n            loadBalancerProtocol: \"HTTPS\",\n            loadBalancerPort: 8080,\n            serverCertificateId: \"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\",\n        },\n        {\n            backendPort: 1024,\n            backendProtocol: \"TCP\",\n            loadBalancerProtocol: \"TCP\",\n            loadBalancerPort: 1024,\n        },\n    ],\n    tags: [\n        {\n            key: \"name\",\n            value: \"terraform-load-balancer\",\n        },\n        {\n            key: \"platform\",\n            value: \"eu-west-2\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nload_balancer01 = outscale.LoadBalancer(\"load_balancer01\",\n    load_balancer_name=\"terraform-load-balancer\",\n    subregion_names=[\"eu-west-2a\"],\n    listeners=[\n        {\n            \"backend_port\": 80,\n            \"backend_protocol\": \"HTTP\",\n            \"load_balancer_protocol\": \"HTTP\",\n            \"load_balancer_port\": 80,\n        },\n        {\n            \"backend_port\": 8080,\n            \"backend_protocol\": \"HTTPS\",\n            \"load_balancer_protocol\": \"HTTPS\",\n            \"load_balancer_port\": 8080,\n            \"server_certificate_id\": \"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\",\n        },\n        {\n            \"backend_port\": 1024,\n            \"backend_protocol\": \"TCP\",\n            \"load_balancer_protocol\": \"TCP\",\n            \"load_balancer_port\": 1024,\n        },\n    ],\n    tags=[\n        {\n            \"key\": \"name\",\n            \"value\": \"terraform-load-balancer\",\n        },\n        {\n            \"key\": \"platform\",\n            \"value\": \"eu-west-2\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadBalancer01 = new Outscale.LoadBalancer(\"load_balancer01\", new()\n    {\n        LoadBalancerName = \"terraform-load-balancer\",\n        SubregionNames = new[]\n        {\n            \"eu-west-2a\",\n        },\n        Listeners = new[]\n        {\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 80,\n                BackendProtocol = \"HTTP\",\n                LoadBalancerProtocol = \"HTTP\",\n                LoadBalancerPort = 80,\n            },\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 8080,\n                BackendProtocol = \"HTTPS\",\n                LoadBalancerProtocol = \"HTTPS\",\n                LoadBalancerPort = 8080,\n                ServerCertificateId = \"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\",\n            },\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 1024,\n                BackendProtocol = \"TCP\",\n                LoadBalancerProtocol = \"TCP\",\n                LoadBalancerPort = 1024,\n            },\n        },\n        Tags = new[]\n        {\n            new Outscale.Inputs.LoadBalancerTagArgs\n            {\n                Key = \"name\",\n                Value = \"terraform-load-balancer\",\n            },\n            new Outscale.Inputs.LoadBalancerTagArgs\n            {\n                Key = \"platform\",\n                Value = \"eu-west-2\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancer(ctx, \"load_balancer01\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-load-balancer\"),\n\t\t\tSubregionNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-2a\"),\n\t\t\t},\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(80),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(80),\n\t\t\t\t},\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(8080),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"HTTPS\"),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(8080),\n\t\t\t\t\tServerCertificateId:  pulumi.String(\"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\"),\n\t\t\t\t},\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(1024),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(1024),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: outscale.LoadBalancerTagArray{\n\t\t\t\t\u0026outscale.LoadBalancerTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-load-balancer\"),\n\t\t\t\t},\n\t\t\t\t\u0026outscale.LoadBalancerTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"platform\"),\n\t\t\t\t\tValue: pulumi.String(\"eu-west-2\"),\n\t\t\t\t},\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.outscale.LoadBalancer;\nimport com.pulumi.outscale.LoadBalancerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerTagArgs;\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        var loadBalancer01 = new LoadBalancer(\"loadBalancer01\", LoadBalancerArgs.builder()\n            .loadBalancerName(\"terraform-load-balancer\")\n            .subregionNames(\"eu-west-2a\")\n            .listeners(            \n                LoadBalancerListenerArgs.builder()\n                    .backendPort(80.0)\n                    .backendProtocol(\"HTTP\")\n                    .loadBalancerProtocol(\"HTTP\")\n                    .loadBalancerPort(80.0)\n                    .build(),\n                LoadBalancerListenerArgs.builder()\n                    .backendPort(8080.0)\n                    .backendProtocol(\"HTTPS\")\n                    .loadBalancerProtocol(\"HTTPS\")\n                    .loadBalancerPort(8080.0)\n                    .serverCertificateId(\"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\")\n                    .build(),\n                LoadBalancerListenerArgs.builder()\n                    .backendPort(1024.0)\n                    .backendProtocol(\"TCP\")\n                    .loadBalancerProtocol(\"TCP\")\n                    .loadBalancerPort(1024.0)\n                    .build())\n            .tags(            \n                LoadBalancerTagArgs.builder()\n                    .key(\"name\")\n                    .value(\"terraform-load-balancer\")\n                    .build(),\n                LoadBalancerTagArgs.builder()\n                    .key(\"platform\")\n                    .value(\"eu-west-2\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loadBalancer01:\n    type: outscale:LoadBalancer\n    name: load_balancer01\n    properties:\n      loadBalancerName: terraform-load-balancer\n      subregionNames:\n        - eu-west-2a\n      listeners:\n        - backendPort: 80\n          backendProtocol: HTTP\n          loadBalancerProtocol: HTTP\n          loadBalancerPort: 80\n        - backendPort: 8080\n          backendProtocol: HTTPS\n          loadBalancerProtocol: HTTPS\n          loadBalancerPort: 8080\n          serverCertificateId: arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\n        - backendPort: 1024\n          backendProtocol: TCP\n          loadBalancerProtocol: TCP\n          loadBalancerPort: 1024\n      tags:\n        - key: name\n          value: terraform-load-balancer\n        - key: platform\n          value: eu-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Update health check\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst attributes01 = new outscale.LoadBalancerAttributes(\"attributes01\", {\n    loadBalancerName: loadBalancer01.id,\n    healthCheck: {\n        healthyThreshold: 10,\n        checkInterval: 30,\n        path: \"/index.html\",\n        port: 8080,\n        protocol: \"HTTPS\",\n        timeout: 5,\n        unhealthyThreshold: 5,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nattributes01 = outscale.LoadBalancerAttributes(\"attributes01\",\n    load_balancer_name=load_balancer01[\"id\"],\n    health_check={\n        \"healthy_threshold\": 10,\n        \"check_interval\": 30,\n        \"path\": \"/index.html\",\n        \"port\": 8080,\n        \"protocol\": \"HTTPS\",\n        \"timeout\": 5,\n        \"unhealthy_threshold\": 5,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var attributes01 = new Outscale.LoadBalancerAttributes(\"attributes01\", new()\n    {\n        LoadBalancerName = loadBalancer01.Id,\n        HealthCheck = new Outscale.Inputs.LoadBalancerAttributesHealthCheckArgs\n        {\n            HealthyThreshold = 10,\n            CheckInterval = 30,\n            Path = \"/index.html\",\n            Port = 8080,\n            Protocol = \"HTTPS\",\n            Timeout = 5,\n            UnhealthyThreshold = 5,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancerAttributes(ctx, \"attributes01\", \u0026outscale.LoadBalancerAttributesArgs{\n\t\t\tLoadBalancerName: pulumi.Any(loadBalancer01.Id),\n\t\t\tHealthCheck: \u0026outscale.LoadBalancerAttributesHealthCheckArgs{\n\t\t\t\tHealthyThreshold:   pulumi.Float64(10),\n\t\t\t\tCheckInterval:      pulumi.Float64(30),\n\t\t\t\tPath:               pulumi.String(\"/index.html\"),\n\t\t\t\tPort:               pulumi.Float64(8080),\n\t\t\t\tProtocol:           pulumi.String(\"HTTPS\"),\n\t\t\t\tTimeout:            pulumi.Float64(5),\n\t\t\t\tUnhealthyThreshold: pulumi.Float64(5),\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.outscale.LoadBalancerAttributes;\nimport com.pulumi.outscale.LoadBalancerAttributesArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerAttributesHealthCheckArgs;\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        var attributes01 = new LoadBalancerAttributes(\"attributes01\", LoadBalancerAttributesArgs.builder()\n            .loadBalancerName(loadBalancer01.id())\n            .healthCheck(LoadBalancerAttributesHealthCheckArgs.builder()\n                .healthyThreshold(10.0)\n                .checkInterval(30.0)\n                .path(\"/index.html\")\n                .port(8080.0)\n                .protocol(\"HTTPS\")\n                .timeout(5.0)\n                .unhealthyThreshold(5.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  attributes01:\n    type: outscale:LoadBalancerAttributes\n    properties:\n      loadBalancerName: ${loadBalancer01.id}\n      healthCheck:\n        healthyThreshold: 10\n        checkInterval: 30\n        path: /index.html\n        port: 8080\n        protocol: HTTPS\n        timeout: 5\n        unhealthyThreshold: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Update access log\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst attributes02 = new outscale.LoadBalancerAttributes(\"attributes02\", {\n    loadBalancerName: loadBalancer01.id,\n    accessLog: {\n        publicationInterval: 5,\n        isEnabled: true,\n        osuBucketName: \"terraform-access-logs\",\n        osuBucketPrefix: \"access-logs-01234\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nattributes02 = outscale.LoadBalancerAttributes(\"attributes02\",\n    load_balancer_name=load_balancer01[\"id\"],\n    access_log={\n        \"publication_interval\": 5,\n        \"is_enabled\": True,\n        \"osu_bucket_name\": \"terraform-access-logs\",\n        \"osu_bucket_prefix\": \"access-logs-01234\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var attributes02 = new Outscale.LoadBalancerAttributes(\"attributes02\", new()\n    {\n        LoadBalancerName = loadBalancer01.Id,\n        AccessLog = new Outscale.Inputs.LoadBalancerAttributesAccessLogArgs\n        {\n            PublicationInterval = 5,\n            IsEnabled = true,\n            OsuBucketName = \"terraform-access-logs\",\n            OsuBucketPrefix = \"access-logs-01234\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancerAttributes(ctx, \"attributes02\", \u0026outscale.LoadBalancerAttributesArgs{\n\t\t\tLoadBalancerName: pulumi.Any(loadBalancer01.Id),\n\t\t\tAccessLog: \u0026outscale.LoadBalancerAttributesAccessLogArgs{\n\t\t\t\tPublicationInterval: pulumi.Float64(5),\n\t\t\t\tIsEnabled:           pulumi.Bool(true),\n\t\t\t\tOsuBucketName:       pulumi.String(\"terraform-access-logs\"),\n\t\t\t\tOsuBucketPrefix:     pulumi.String(\"access-logs-01234\"),\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.outscale.LoadBalancerAttributes;\nimport com.pulumi.outscale.LoadBalancerAttributesArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerAttributesAccessLogArgs;\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        var attributes02 = new LoadBalancerAttributes(\"attributes02\", LoadBalancerAttributesArgs.builder()\n            .loadBalancerName(loadBalancer01.id())\n            .accessLog(LoadBalancerAttributesAccessLogArgs.builder()\n                .publicationInterval(5.0)\n                .isEnabled(true)\n                .osuBucketName(\"terraform-access-logs\")\n                .osuBucketPrefix(\"access-logs-01234\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  attributes02:\n    type: outscale:LoadBalancerAttributes\n    properties:\n      loadBalancerName: ${loadBalancer01.id}\n      accessLog:\n        publicationInterval: 5\n        isEnabled: true\n        osuBucketName: terraform-access-logs\n        osuBucketPrefix: access-logs-01234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Update policies\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst attributes03 = new outscale.LoadBalancerAttributes(\"attributes03\", {\n    loadBalancerName: loadBalancer01.id,\n    loadBalancerPort: 80,\n    policyNames: [\"policy-name-01\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nattributes03 = outscale.LoadBalancerAttributes(\"attributes03\",\n    load_balancer_name=load_balancer01[\"id\"],\n    load_balancer_port=80,\n    policy_names=[\"policy-name-01\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var attributes03 = new Outscale.LoadBalancerAttributes(\"attributes03\", new()\n    {\n        LoadBalancerName = loadBalancer01.Id,\n        LoadBalancerPort = 80,\n        PolicyNames = new[]\n        {\n            \"policy-name-01\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancerAttributes(ctx, \"attributes03\", \u0026outscale.LoadBalancerAttributesArgs{\n\t\t\tLoadBalancerName: pulumi.Any(loadBalancer01.Id),\n\t\t\tLoadBalancerPort: pulumi.Float64(80),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"policy-name-01\"),\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.outscale.LoadBalancerAttributes;\nimport com.pulumi.outscale.LoadBalancerAttributesArgs;\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        var attributes03 = new LoadBalancerAttributes(\"attributes03\", LoadBalancerAttributesArgs.builder()\n            .loadBalancerName(loadBalancer01.id())\n            .loadBalancerPort(80.0)\n            .policyNames(\"policy-name-01\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  attributes03:\n    type: outscale:LoadBalancerAttributes\n    properties:\n      loadBalancerName: ${loadBalancer01.id}\n      loadBalancerPort: 80\n      policyNames:\n        - policy-name-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Update SSL certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst attributes04 = new outscale.LoadBalancerAttributes(\"attributes04\", {\n    loadBalancerName: loadBalancer01.id,\n    loadBalancerPort: 8080,\n    serverCertificateId: \"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nattributes04 = outscale.LoadBalancerAttributes(\"attributes04\",\n    load_balancer_name=load_balancer01[\"id\"],\n    load_balancer_port=8080,\n    server_certificate_id=\"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var attributes04 = new Outscale.LoadBalancerAttributes(\"attributes04\", new()\n    {\n        LoadBalancerName = loadBalancer01.Id,\n        LoadBalancerPort = 8080,\n        ServerCertificateId = \"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancerAttributes(ctx, \"attributes04\", \u0026outscale.LoadBalancerAttributesArgs{\n\t\t\tLoadBalancerName:    pulumi.Any(loadBalancer01.Id),\n\t\t\tLoadBalancerPort:    pulumi.Float64(8080),\n\t\t\tServerCertificateId: pulumi.String(\"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\"),\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.outscale.LoadBalancerAttributes;\nimport com.pulumi.outscale.LoadBalancerAttributesArgs;\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        var attributes04 = new LoadBalancerAttributes(\"attributes04\", LoadBalancerAttributesArgs.builder()\n            .loadBalancerName(loadBalancer01.id())\n            .loadBalancerPort(8080.0)\n            .serverCertificateId(\"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  attributes04:\n    type: outscale:LoadBalancerAttributes\n    properties:\n      loadBalancerName: ${loadBalancer01.id}\n      loadBalancerPort: 8080\n      serverCertificateId: arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accessLog":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesAccessLog:LoadBalancerAttributesAccessLog","description":"Information about access logs.\n"},"applicationStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesApplicationStickyCookiePolicy:LoadBalancerAttributesApplicationStickyCookiePolicy"},"description":"The stickiness policies defined for the load balancer.\n"},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs for the load balancer.\n"},"dnsName":{"type":"string","description":"The DNS name of the load balancer.\n"},"healthCheck":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesHealthCheck:LoadBalancerAttributesHealthCheck","description":"Information about the health check configuration.\n"},"listeners":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesListener:LoadBalancerAttributesListener"},"description":"The listeners for the load balancer.\n"},"loadBalancerAttributesId":{"type":"string"},"loadBalancerName":{"type":"string","description":"The name of the load balancer.\n"},"loadBalancerPort":{"type":"number","description":"The port on which the load balancer is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included). This parameter is required if you want to update the server certificate.\n"},"loadBalancerStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesLoadBalancerStickyCookiePolicy:LoadBalancerAttributesLoadBalancerStickyCookiePolicy"},"description":"The policies defined for the load balancer.\n"},"loadBalancerType":{"type":"string","description":"The type of load balancer. Valid only for load balancers in a Net.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, the load balancer has a public DNS name that resolves to a private IP.\n"},"policyNames":{"type":"array","items":{"type":"string"},"description":"The name of the policy you want to enable for the listener.\n"},"requestId":{"type":"string"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the load balancers. Valid only for load balancers in a Net.\n"},"serverCertificateId":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns). If this parameter is specified, you must also specify the \u003cspan pulumi-lang-nodejs=\"`loadBalancerPort`\" pulumi-lang-dotnet=\"`LoadBalancerPort`\" pulumi-lang-go=\"`loadBalancerPort`\" pulumi-lang-python=\"`load_balancer_port`\" pulumi-lang-yaml=\"`loadBalancerPort`\" pulumi-lang-java=\"`loadBalancerPort`\"\u003e`load_balancer_port`\u003c/span\u003e parameter.\n"},"sourceSecurityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesSourceSecurityGroup:LoadBalancerAttributesSourceSecurityGroup"},"description":"Information about the source security group of the load balancer, which you can use as part of your inbound rules for your registered VMs.\u003cbr /\u003e\nTo only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"The ID of the Subnet in which the load balancer was created.\n"},"subregionNames":{"type":"array","items":{"type":"string"},"description":"The ID of the Subregion in which the load balancer was created.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesTag:LoadBalancerAttributesTag"},"description":"One or more tags associated with the load balancer.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesTimeouts:LoadBalancerAttributesTimeouts"}},"type":"object","required":["applicationStickyCookiePolicies","backendVmIds","dnsName","listeners","loadBalancerAttributesId","loadBalancerName","loadBalancerStickyCookiePolicies","loadBalancerType","requestId","securityGroups","sourceSecurityGroups","subnets","subregionNames","tags"],"inputProperties":{"accessLog":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesAccessLog:LoadBalancerAttributesAccessLog","description":"Information about access logs.\n"},"healthCheck":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesHealthCheck:LoadBalancerAttributesHealthCheck","description":"Information about the health check configuration.\n"},"loadBalancerAttributesId":{"type":"string"},"loadBalancerName":{"type":"string","description":"The name of the load balancer.\n"},"loadBalancerPort":{"type":"number","description":"The port on which the load balancer is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included). This parameter is required if you want to update the server certificate.\n"},"policyNames":{"type":"array","items":{"type":"string"},"description":"The name of the policy you want to enable for the listener.\n"},"serverCertificateId":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns). If this parameter is specified, you must also specify the \u003cspan pulumi-lang-nodejs=\"`loadBalancerPort`\" pulumi-lang-dotnet=\"`LoadBalancerPort`\" pulumi-lang-go=\"`loadBalancerPort`\" pulumi-lang-python=\"`load_balancer_port`\" pulumi-lang-yaml=\"`loadBalancerPort`\" pulumi-lang-java=\"`loadBalancerPort`\"\u003e`load_balancer_port`\u003c/span\u003e parameter.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesTimeouts:LoadBalancerAttributesTimeouts"}},"requiredInputs":["loadBalancerName"],"stateInputs":{"description":"Input properties used for looking up and filtering LoadBalancerAttributes resources.\n","properties":{"accessLog":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesAccessLog:LoadBalancerAttributesAccessLog","description":"Information about access logs.\n"},"applicationStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesApplicationStickyCookiePolicy:LoadBalancerAttributesApplicationStickyCookiePolicy"},"description":"The stickiness policies defined for the load balancer.\n"},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs for the load balancer.\n"},"dnsName":{"type":"string","description":"The DNS name of the load balancer.\n"},"healthCheck":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesHealthCheck:LoadBalancerAttributesHealthCheck","description":"Information about the health check configuration.\n"},"listeners":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesListener:LoadBalancerAttributesListener"},"description":"The listeners for the load balancer.\n"},"loadBalancerAttributesId":{"type":"string"},"loadBalancerName":{"type":"string","description":"The name of the load balancer.\n"},"loadBalancerPort":{"type":"number","description":"The port on which the load balancer is listening (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`65535`\" pulumi-lang-dotnet=\"`65535`\" pulumi-lang-go=\"`65535`\" pulumi-lang-python=\"`65535`\" pulumi-lang-yaml=\"`65535`\" pulumi-lang-java=\"`65535`\"\u003e`65535`\u003c/span\u003e, both included). This parameter is required if you want to update the server certificate.\n"},"loadBalancerStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesLoadBalancerStickyCookiePolicy:LoadBalancerAttributesLoadBalancerStickyCookiePolicy"},"description":"The policies defined for the load balancer.\n"},"loadBalancerType":{"type":"string","description":"The type of load balancer. Valid only for load balancers in a Net.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, the load balancer has a public DNS name that resolves to a private IP.\n"},"policyNames":{"type":"array","items":{"type":"string"},"description":"The name of the policy you want to enable for the listener.\n"},"requestId":{"type":"string"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the load balancers. Valid only for load balancers in a Net.\n"},"serverCertificateId":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns). If this parameter is specified, you must also specify the \u003cspan pulumi-lang-nodejs=\"`loadBalancerPort`\" pulumi-lang-dotnet=\"`LoadBalancerPort`\" pulumi-lang-go=\"`loadBalancerPort`\" pulumi-lang-python=\"`load_balancer_port`\" pulumi-lang-yaml=\"`loadBalancerPort`\" pulumi-lang-java=\"`loadBalancerPort`\"\u003e`load_balancer_port`\u003c/span\u003e parameter.\n"},"sourceSecurityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesSourceSecurityGroup:LoadBalancerAttributesSourceSecurityGroup"},"description":"Information about the source security group of the load balancer, which you can use as part of your inbound rules for your registered VMs.\u003cbr /\u003e\nTo only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"The ID of the Subnet in which the load balancer was created.\n"},"subregionNames":{"type":"array","items":{"type":"string"},"description":"The ID of the Subregion in which the load balancer was created.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesTag:LoadBalancerAttributesTag"},"description":"One or more tags associated with the load balancer.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerAttributesTimeouts:LoadBalancerAttributesTimeouts"}},"type":"object"}},"outscale:index/loadBalancerListenerRule:LoadBalancerListenerRule":{"description":"Manages a load balancer listener rule.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-listener).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vm01 = new outscale.Vm(\"vm01\", {\n    imageId: imageId,\n    vmType: vmType,\n    keypairName: keypairName,\n});\nconst loadBalancer01 = new outscale.LoadBalancer(\"load_balancer01\", {\n    loadBalancerName: \"terraform-public-load-balancer\",\n    subregionNames: [`${region}a`],\n    listeners: [{\n        backendPort: 80,\n        backendProtocol: \"TCP\",\n        loadBalancerProtocol: \"TCP\",\n        loadBalancerPort: 80,\n    }],\n    tags: [{\n        key: \"name\",\n        value: \"terraform-public-load-balancer\",\n    }],\n});\nconst outscaleLoadBalancerVms01 = new outscale.LoadBalancerVms(\"outscale_load_balancer_vms01\", {\n    loadBalancerName: loadBalancer01.loadBalancerId,\n    backendVmIds: [vm01.vmId],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvm01 = outscale.Vm(\"vm01\",\n    image_id=image_id,\n    vm_type=vm_type,\n    keypair_name=keypair_name)\nload_balancer01 = outscale.LoadBalancer(\"load_balancer01\",\n    load_balancer_name=\"terraform-public-load-balancer\",\n    subregion_names=[f\"{region}a\"],\n    listeners=[{\n        \"backend_port\": 80,\n        \"backend_protocol\": \"TCP\",\n        \"load_balancer_protocol\": \"TCP\",\n        \"load_balancer_port\": 80,\n    }],\n    tags=[{\n        \"key\": \"name\",\n        \"value\": \"terraform-public-load-balancer\",\n    }])\noutscale_load_balancer_vms01 = outscale.LoadBalancerVms(\"outscale_load_balancer_vms01\",\n    load_balancer_name=load_balancer01.load_balancer_id,\n    backend_vm_ids=[vm01.vm_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vm01 = new Outscale.Vm(\"vm01\", new()\n    {\n        ImageId = imageId,\n        VmType = vmType,\n        KeypairName = keypairName,\n    });\n\n    var loadBalancer01 = new Outscale.LoadBalancer(\"load_balancer01\", new()\n    {\n        LoadBalancerName = \"terraform-public-load-balancer\",\n        SubregionNames = new[]\n        {\n            $\"{region}a\",\n        },\n        Listeners = new[]\n        {\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 80,\n                BackendProtocol = \"TCP\",\n                LoadBalancerProtocol = \"TCP\",\n                LoadBalancerPort = 80,\n            },\n        },\n        Tags = new[]\n        {\n            new Outscale.Inputs.LoadBalancerTagArgs\n            {\n                Key = \"name\",\n                Value = \"terraform-public-load-balancer\",\n            },\n        },\n    });\n\n    var outscaleLoadBalancerVms01 = new Outscale.LoadBalancerVms(\"outscale_load_balancer_vms01\", new()\n    {\n        LoadBalancerName = loadBalancer01.LoadBalancerId,\n        BackendVmIds = new[]\n        {\n            vm01.VmId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvm01, err := outscale.NewVm(ctx, \"vm01\", \u0026outscale.VmArgs{\n\t\t\tImageId:     pulumi.Any(imageId),\n\t\t\tVmType:      pulumi.Any(vmType),\n\t\t\tKeypairName: pulumi.Any(keypairName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tloadBalancer01, err := outscale.NewLoadBalancer(ctx, \"load_balancer01\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-public-load-balancer\"),\n\t\t\tSubregionNames: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"%va\", region),\n\t\t\t},\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(80),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: outscale.LoadBalancerTagArray{\n\t\t\t\t\u0026outscale.LoadBalancerTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-public-load-balancer\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewLoadBalancerVms(ctx, \"outscale_load_balancer_vms01\", \u0026outscale.LoadBalancerVmsArgs{\n\t\t\tLoadBalancerName: loadBalancer01.LoadBalancerId,\n\t\t\tBackendVmIds: pulumi.StringArray{\n\t\t\t\tvm01.VmId,\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.outscale.Vm;\nimport com.pulumi.outscale.VmArgs;\nimport com.pulumi.outscale.LoadBalancer;\nimport com.pulumi.outscale.LoadBalancerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerTagArgs;\nimport com.pulumi.outscale.LoadBalancerVms;\nimport com.pulumi.outscale.LoadBalancerVmsArgs;\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        var vm01 = new Vm(\"vm01\", VmArgs.builder()\n            .imageId(imageId)\n            .vmType(vmType)\n            .keypairName(keypairName)\n            .build());\n\n        var loadBalancer01 = new LoadBalancer(\"loadBalancer01\", LoadBalancerArgs.builder()\n            .loadBalancerName(\"terraform-public-load-balancer\")\n            .subregionNames(String.format(\"%sa\", region))\n            .listeners(LoadBalancerListenerArgs.builder()\n                .backendPort(80.0)\n                .backendProtocol(\"TCP\")\n                .loadBalancerProtocol(\"TCP\")\n                .loadBalancerPort(80.0)\n                .build())\n            .tags(LoadBalancerTagArgs.builder()\n                .key(\"name\")\n                .value(\"terraform-public-load-balancer\")\n                .build())\n            .build());\n\n        var outscaleLoadBalancerVms01 = new LoadBalancerVms(\"outscaleLoadBalancerVms01\", LoadBalancerVmsArgs.builder()\n            .loadBalancerName(loadBalancer01.loadBalancerId())\n            .backendVmIds(vm01.vmId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vm01:\n    type: outscale:Vm\n    properties:\n      imageId: ${imageId}\n      vmType: ${vmType}\n      keypairName: ${keypairName}\n  loadBalancer01:\n    type: outscale:LoadBalancer\n    name: load_balancer01\n    properties:\n      loadBalancerName: terraform-public-load-balancer\n      subregionNames:\n        - ${region}a\n      listeners:\n        - backendPort: 80\n          backendProtocol: TCP\n          loadBalancerProtocol: TCP\n          loadBalancerPort: 80\n      tags:\n        - key: name\n          value: terraform-public-load-balancer\n  outscaleLoadBalancerVms01:\n    type: outscale:LoadBalancerVms\n    name: outscale_load_balancer_vms01\n    properties:\n      loadBalancerName: ${loadBalancer01.loadBalancerId}\n      backendVmIds:\n        - ${vm01.vmId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a listener rule based on path pattern\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst rule01 = new outscale.LoadBalancerListenerRule(\"rule01\", {\n    listener: {\n        loadBalancerName: loadBalancer01.id,\n        loadBalancerPort: 80,\n    },\n    listenerRule: {\n        action: \"forward\",\n        listenerRuleName: \"terraform-listener-rule01\",\n        pathPattern: \"*.abc.*.abc.*.com\",\n        priority: 10,\n    },\n    vmIds: [vm01.vmId],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nrule01 = outscale.LoadBalancerListenerRule(\"rule01\",\n    listener={\n        \"load_balancer_name\": load_balancer01[\"id\"],\n        \"load_balancer_port\": 80,\n    },\n    listener_rule={\n        \"action\": \"forward\",\n        \"listener_rule_name\": \"terraform-listener-rule01\",\n        \"path_pattern\": \"*.abc.*.abc.*.com\",\n        \"priority\": 10,\n    },\n    vm_ids=[vm01[\"vmId\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rule01 = new Outscale.LoadBalancerListenerRule(\"rule01\", new()\n    {\n        Listener = new Outscale.Inputs.LoadBalancerListenerRuleListenerArgs\n        {\n            LoadBalancerName = loadBalancer01.Id,\n            LoadBalancerPort = 80,\n        },\n        ListenerRule = new Outscale.Inputs.LoadBalancerListenerRuleListenerRuleArgs\n        {\n            Action = \"forward\",\n            ListenerRuleName = \"terraform-listener-rule01\",\n            PathPattern = \"*.abc.*.abc.*.com\",\n            Priority = 10,\n        },\n        VmIds = new[]\n        {\n            vm01.VmId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancerListenerRule(ctx, \"rule01\", \u0026outscale.LoadBalancerListenerRuleArgs{\n\t\t\tListener: \u0026outscale.LoadBalancerListenerRuleListenerArgs{\n\t\t\t\tLoadBalancerName: pulumi.Any(loadBalancer01.Id),\n\t\t\t\tLoadBalancerPort: pulumi.Float64(80),\n\t\t\t},\n\t\t\tListenerRule: \u0026outscale.LoadBalancerListenerRuleListenerRuleArgs{\n\t\t\t\tAction:           pulumi.String(\"forward\"),\n\t\t\t\tListenerRuleName: pulumi.String(\"terraform-listener-rule01\"),\n\t\t\t\tPathPattern:      pulumi.String(\"*.abc.*.abc.*.com\"),\n\t\t\t\tPriority:         pulumi.Float64(10),\n\t\t\t},\n\t\t\tVmIds: pulumi.StringArray{\n\t\t\t\tvm01.VmId,\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.outscale.LoadBalancerListenerRule;\nimport com.pulumi.outscale.LoadBalancerListenerRuleArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerRuleListenerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerRuleListenerRuleArgs;\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        var rule01 = new LoadBalancerListenerRule(\"rule01\", LoadBalancerListenerRuleArgs.builder()\n            .listener(LoadBalancerListenerRuleListenerArgs.builder()\n                .loadBalancerName(loadBalancer01.id())\n                .loadBalancerPort(80.0)\n                .build())\n            .listenerRule(LoadBalancerListenerRuleListenerRuleArgs.builder()\n                .action(\"forward\")\n                .listenerRuleName(\"terraform-listener-rule01\")\n                .pathPattern(\"*.abc.*.abc.*.com\")\n                .priority(10.0)\n                .build())\n            .vmIds(vm01.vmId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rule01:\n    type: outscale:LoadBalancerListenerRule\n    properties:\n      listener:\n        loadBalancerName: ${loadBalancer01.id}\n        loadBalancerPort: 80\n      listenerRule:\n        action: forward\n        listenerRuleName: terraform-listener-rule01\n        pathPattern: '*.abc.*.abc.*.com'\n        priority: 10\n      vmIds:\n        - ${vm01.vmId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a listener rule based on host pattern\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst rule02 = new outscale.LoadBalancerListenerRule(\"rule02\", {\n    listener: {\n        loadBalancerName: loadBalancer01.id,\n        loadBalancerPort: 80,\n    },\n    listenerRule: {\n        action: \"forward\",\n        listenerRuleName: \"terraform-listener-rule02\",\n        hostNamePattern: \"*.abc.-.abc.*.com\",\n        priority: 1,\n    },\n    vmIds: [vm01.vmId],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nrule02 = outscale.LoadBalancerListenerRule(\"rule02\",\n    listener={\n        \"load_balancer_name\": load_balancer01[\"id\"],\n        \"load_balancer_port\": 80,\n    },\n    listener_rule={\n        \"action\": \"forward\",\n        \"listener_rule_name\": \"terraform-listener-rule02\",\n        \"host_name_pattern\": \"*.abc.-.abc.*.com\",\n        \"priority\": 1,\n    },\n    vm_ids=[vm01[\"vmId\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rule02 = new Outscale.LoadBalancerListenerRule(\"rule02\", new()\n    {\n        Listener = new Outscale.Inputs.LoadBalancerListenerRuleListenerArgs\n        {\n            LoadBalancerName = loadBalancer01.Id,\n            LoadBalancerPort = 80,\n        },\n        ListenerRule = new Outscale.Inputs.LoadBalancerListenerRuleListenerRuleArgs\n        {\n            Action = \"forward\",\n            ListenerRuleName = \"terraform-listener-rule02\",\n            HostNamePattern = \"*.abc.-.abc.*.com\",\n            Priority = 1,\n        },\n        VmIds = new[]\n        {\n            vm01.VmId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancerListenerRule(ctx, \"rule02\", \u0026outscale.LoadBalancerListenerRuleArgs{\n\t\t\tListener: \u0026outscale.LoadBalancerListenerRuleListenerArgs{\n\t\t\t\tLoadBalancerName: pulumi.Any(loadBalancer01.Id),\n\t\t\t\tLoadBalancerPort: pulumi.Float64(80),\n\t\t\t},\n\t\t\tListenerRule: \u0026outscale.LoadBalancerListenerRuleListenerRuleArgs{\n\t\t\t\tAction:           pulumi.String(\"forward\"),\n\t\t\t\tListenerRuleName: pulumi.String(\"terraform-listener-rule02\"),\n\t\t\t\tHostNamePattern:  pulumi.String(\"*.abc.-.abc.*.com\"),\n\t\t\t\tPriority:         pulumi.Float64(1),\n\t\t\t},\n\t\t\tVmIds: pulumi.StringArray{\n\t\t\t\tvm01.VmId,\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.outscale.LoadBalancerListenerRule;\nimport com.pulumi.outscale.LoadBalancerListenerRuleArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerRuleListenerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerRuleListenerRuleArgs;\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        var rule02 = new LoadBalancerListenerRule(\"rule02\", LoadBalancerListenerRuleArgs.builder()\n            .listener(LoadBalancerListenerRuleListenerArgs.builder()\n                .loadBalancerName(loadBalancer01.id())\n                .loadBalancerPort(80.0)\n                .build())\n            .listenerRule(LoadBalancerListenerRuleListenerRuleArgs.builder()\n                .action(\"forward\")\n                .listenerRuleName(\"terraform-listener-rule02\")\n                .hostNamePattern(\"*.abc.-.abc.*.com\")\n                .priority(1.0)\n                .build())\n            .vmIds(vm01.vmId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rule02:\n    type: outscale:LoadBalancerListenerRule\n    properties:\n      listener:\n        loadBalancerName: ${loadBalancer01.id}\n        loadBalancerPort: 80\n      listenerRule:\n        action: forward\n        listenerRuleName: terraform-listener-rule02\n        hostNamePattern: '*.abc.-.abc.*.com'\n        priority: 1\n      vmIds:\n        - ${vm01.vmId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"listener":{"$ref":"#/types/outscale:index%2FLoadBalancerListenerRuleListener:LoadBalancerListenerRuleListener","description":"Information about the load balancer.\n"},"listenerRule":{"$ref":"#/types/outscale:index%2FLoadBalancerListenerRuleListenerRule:LoadBalancerListenerRuleListenerRule","description":"Information about the listener rule.\n"},"loadBalancerListenerRuleId":{"type":"string"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerListenerRuleTimeouts:LoadBalancerListenerRuleTimeouts"},"vmIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the backend VMs.\n"}},"type":"object","required":["listener","listenerRule","loadBalancerListenerRuleId","requestId","vmIds"],"inputProperties":{"listener":{"$ref":"#/types/outscale:index%2FLoadBalancerListenerRuleListener:LoadBalancerListenerRuleListener","description":"Information about the load balancer.\n"},"listenerRule":{"$ref":"#/types/outscale:index%2FLoadBalancerListenerRuleListenerRule:LoadBalancerListenerRuleListenerRule","description":"Information about the listener rule.\n"},"loadBalancerListenerRuleId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerListenerRuleTimeouts:LoadBalancerListenerRuleTimeouts"},"vmIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the backend VMs.\n"}},"requiredInputs":["listener","listenerRule","vmIds"],"stateInputs":{"description":"Input properties used for looking up and filtering LoadBalancerListenerRule resources.\n","properties":{"listener":{"$ref":"#/types/outscale:index%2FLoadBalancerListenerRuleListener:LoadBalancerListenerRuleListener","description":"Information about the load balancer.\n"},"listenerRule":{"$ref":"#/types/outscale:index%2FLoadBalancerListenerRuleListenerRule:LoadBalancerListenerRuleListenerRule","description":"Information about the listener rule.\n"},"loadBalancerListenerRuleId":{"type":"string"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerListenerRuleTimeouts:LoadBalancerListenerRuleTimeouts"},"vmIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the backend VMs.\n"}},"type":"object"}},"outscale:index/loadBalancerPolicy:LoadBalancerPolicy":{"description":"Manages a load balancer policy.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-loadbalancerpolicy).\n\n## Example Usage\n\n### Create a load balancer policy based on browser\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancer01 = new outscale.LoadBalancer(\"load_balancer01\", {\n    loadBalancerName: \"terraform-lb-for-browser-policy\",\n    subregionNames: [\"eu-west-2a\"],\n    listeners: [{\n        backendPort: 8080,\n        backendProtocol: \"HTTP\",\n        loadBalancerPort: 8080,\n        loadBalancerProtocol: \"HTTP\",\n    }],\n});\nconst loadBalancerPolicy01 = new outscale.LoadBalancerPolicy(\"load_balancer_policy01\", {\n    loadBalancerName: \"terraform-lb-for-browser-policy\",\n    policyName: \"terraform-lb-browser-policy\",\n    policyType: \"load_balancer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nload_balancer01 = outscale.LoadBalancer(\"load_balancer01\",\n    load_balancer_name=\"terraform-lb-for-browser-policy\",\n    subregion_names=[\"eu-west-2a\"],\n    listeners=[{\n        \"backend_port\": 8080,\n        \"backend_protocol\": \"HTTP\",\n        \"load_balancer_port\": 8080,\n        \"load_balancer_protocol\": \"HTTP\",\n    }])\nload_balancer_policy01 = outscale.LoadBalancerPolicy(\"load_balancer_policy01\",\n    load_balancer_name=\"terraform-lb-for-browser-policy\",\n    policy_name=\"terraform-lb-browser-policy\",\n    policy_type=\"load_balancer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadBalancer01 = new Outscale.LoadBalancer(\"load_balancer01\", new()\n    {\n        LoadBalancerName = \"terraform-lb-for-browser-policy\",\n        SubregionNames = new[]\n        {\n            \"eu-west-2a\",\n        },\n        Listeners = new[]\n        {\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 8080,\n                BackendProtocol = \"HTTP\",\n                LoadBalancerPort = 8080,\n                LoadBalancerProtocol = \"HTTP\",\n            },\n        },\n    });\n\n    var loadBalancerPolicy01 = new Outscale.LoadBalancerPolicy(\"load_balancer_policy01\", new()\n    {\n        LoadBalancerName = \"terraform-lb-for-browser-policy\",\n        PolicyName = \"terraform-lb-browser-policy\",\n        PolicyType = \"load_balancer\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancer(ctx, \"load_balancer01\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-lb-for-browser-policy\"),\n\t\t\tSubregionNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-2a\"),\n\t\t\t},\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(8080),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(8080),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewLoadBalancerPolicy(ctx, \"load_balancer_policy01\", \u0026outscale.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-lb-for-browser-policy\"),\n\t\t\tPolicyName:       pulumi.String(\"terraform-lb-browser-policy\"),\n\t\t\tPolicyType:       pulumi.String(\"load_balancer\"),\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.outscale.LoadBalancer;\nimport com.pulumi.outscale.LoadBalancerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.outscale.LoadBalancerPolicy;\nimport com.pulumi.outscale.LoadBalancerPolicyArgs;\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        var loadBalancer01 = new LoadBalancer(\"loadBalancer01\", LoadBalancerArgs.builder()\n            .loadBalancerName(\"terraform-lb-for-browser-policy\")\n            .subregionNames(\"eu-west-2a\")\n            .listeners(LoadBalancerListenerArgs.builder()\n                .backendPort(8080.0)\n                .backendProtocol(\"HTTP\")\n                .loadBalancerPort(8080.0)\n                .loadBalancerProtocol(\"HTTP\")\n                .build())\n            .build());\n\n        var loadBalancerPolicy01 = new LoadBalancerPolicy(\"loadBalancerPolicy01\", LoadBalancerPolicyArgs.builder()\n            .loadBalancerName(\"terraform-lb-for-browser-policy\")\n            .policyName(\"terraform-lb-browser-policy\")\n            .policyType(\"load_balancer\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loadBalancer01:\n    type: outscale:LoadBalancer\n    name: load_balancer01\n    properties:\n      loadBalancerName: terraform-lb-for-browser-policy\n      subregionNames:\n        - eu-west-2a\n      listeners:\n        - backendPort: 8080\n          backendProtocol: HTTP\n          loadBalancerPort: 8080\n          loadBalancerProtocol: HTTP\n  loadBalancerPolicy01:\n    type: outscale:LoadBalancerPolicy\n    name: load_balancer_policy01\n    properties:\n      loadBalancerName: terraform-lb-for-browser-policy\n      policyName: terraform-lb-browser-policy\n      policyType: load_balancer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a load balancer policy based on application cookie\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancer02 = new outscale.LoadBalancer(\"load_balancer02\", {\n    loadBalancerName: \"terraform-lb-for-app-policy\",\n    subregionNames: [`${region}b`],\n    listeners: [{\n        loadBalancerPort: 80,\n        loadBalancerProtocol: \"TCP\",\n        backendPort: 80,\n        backendProtocol: \"TCP\",\n    }],\n});\nconst loadBalancerPolicy02 = new outscale.LoadBalancerPolicy(\"load_balancer_policy02\", {\n    loadBalancerName: loadBalancer02.loadBalancerName,\n    policyName: \"terraform-lb-app-policy\",\n    policyType: \"app\",\n    cookieName: \"cookie01\",\n}, {\n    dependsOn: [loadBalancer02],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nload_balancer02 = outscale.LoadBalancer(\"load_balancer02\",\n    load_balancer_name=\"terraform-lb-for-app-policy\",\n    subregion_names=[f\"{region}b\"],\n    listeners=[{\n        \"load_balancer_port\": 80,\n        \"load_balancer_protocol\": \"TCP\",\n        \"backend_port\": 80,\n        \"backend_protocol\": \"TCP\",\n    }])\nload_balancer_policy02 = outscale.LoadBalancerPolicy(\"load_balancer_policy02\",\n    load_balancer_name=load_balancer02.load_balancer_name,\n    policy_name=\"terraform-lb-app-policy\",\n    policy_type=\"app\",\n    cookie_name=\"cookie01\",\n    opts = pulumi.ResourceOptions(depends_on=[load_balancer02]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadBalancer02 = new Outscale.LoadBalancer(\"load_balancer02\", new()\n    {\n        LoadBalancerName = \"terraform-lb-for-app-policy\",\n        SubregionNames = new[]\n        {\n            $\"{region}b\",\n        },\n        Listeners = new[]\n        {\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                LoadBalancerPort = 80,\n                LoadBalancerProtocol = \"TCP\",\n                BackendPort = 80,\n                BackendProtocol = \"TCP\",\n            },\n        },\n    });\n\n    var loadBalancerPolicy02 = new Outscale.LoadBalancerPolicy(\"load_balancer_policy02\", new()\n    {\n        LoadBalancerName = loadBalancer02.LoadBalancerName,\n        PolicyName = \"terraform-lb-app-policy\",\n        PolicyType = \"app\",\n        CookieName = \"cookie01\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            loadBalancer02,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tloadBalancer02, err := outscale.NewLoadBalancer(ctx, \"load_balancer02\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-lb-for-app-policy\"),\n\t\t\tSubregionNames: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"%vb\", region),\n\t\t\t},\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(80),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tBackendPort:          pulumi.Float64(80),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"TCP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewLoadBalancerPolicy(ctx, \"load_balancer_policy02\", \u0026outscale.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: loadBalancer02.LoadBalancerName,\n\t\t\tPolicyName:       pulumi.String(\"terraform-lb-app-policy\"),\n\t\t\tPolicyType:       pulumi.String(\"app\"),\n\t\t\tCookieName:       pulumi.String(\"cookie01\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tloadBalancer02,\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.outscale.LoadBalancer;\nimport com.pulumi.outscale.LoadBalancerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.outscale.LoadBalancerPolicy;\nimport com.pulumi.outscale.LoadBalancerPolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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        var loadBalancer02 = new LoadBalancer(\"loadBalancer02\", LoadBalancerArgs.builder()\n            .loadBalancerName(\"terraform-lb-for-app-policy\")\n            .subregionNames(String.format(\"%sb\", region))\n            .listeners(LoadBalancerListenerArgs.builder()\n                .loadBalancerPort(80.0)\n                .loadBalancerProtocol(\"TCP\")\n                .backendPort(80.0)\n                .backendProtocol(\"TCP\")\n                .build())\n            .build());\n\n        var loadBalancerPolicy02 = new LoadBalancerPolicy(\"loadBalancerPolicy02\", LoadBalancerPolicyArgs.builder()\n            .loadBalancerName(loadBalancer02.loadBalancerName())\n            .policyName(\"terraform-lb-app-policy\")\n            .policyType(\"app\")\n            .cookieName(\"cookie01\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(loadBalancer02)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loadBalancer02:\n    type: outscale:LoadBalancer\n    name: load_balancer02\n    properties:\n      loadBalancerName: terraform-lb-for-app-policy\n      subregionNames:\n        - ${region}b\n      listeners:\n        - loadBalancerPort: 80\n          loadBalancerProtocol: TCP\n          backendPort: 80\n          backendProtocol: TCP\n  loadBalancerPolicy02:\n    type: outscale:LoadBalancerPolicy\n    name: load_balancer_policy02\n    properties:\n      loadBalancerName: ${loadBalancer02.loadBalancerName}\n      policyName: terraform-lb-app-policy\n      policyType: app\n      cookieName: cookie01\n    options:\n      dependsOn:\n        - ${loadBalancer02}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accessLogs":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyAccessLog:LoadBalancerPolicyAccessLog"},"description":"Information about access logs.\n"},"applicationStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyApplicationStickyCookiePolicy:LoadBalancerPolicyApplicationStickyCookiePolicy"},"description":"The stickiness policies defined for the load balancer.\n"},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs for the load balancer.\n"},"cookieExpirationPeriod":{"type":"number"},"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness. This parameter is required if you create a stickiness policy based on an application-generated cookie.\n"},"dnsName":{"type":"string","description":"The DNS name of the load balancer.\n"},"healthChecks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyHealthCheck:LoadBalancerPolicyHealthCheck"},"description":"Information about the health check configuration.\n"},"listeners":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyListener:LoadBalancerPolicyListener"},"description":"The listeners for the load balancer.\n"},"loadBalancerName":{"type":"string","description":"The name of the load balancer for which you want to create a policy.\n"},"loadBalancerPolicyId":{"type":"string"},"loadBalancerStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyLoadBalancerStickyCookiePolicy:LoadBalancerPolicyLoadBalancerStickyCookiePolicy"},"description":"The policies defined for the load balancer.\n"},"loadBalancerType":{"type":"string","description":"The type of load balancer. Valid only for load balancers in a Net.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, the load balancer has a public DNS name that resolves to a private IP.\n"},"netId":{"type":"string","description":"The ID of the Net for the load balancer.\n"},"policyName":{"type":"string","description":"The unique name of the policy, with a maximum length of 32 alphanumeric characters and dashes (`-`).\n"},"policyType":{"type":"string","description":"The type of stickiness policy you want to create: \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`loadBalancer`\" pulumi-lang-dotnet=\"`LoadBalancer`\" pulumi-lang-go=\"`loadBalancer`\" pulumi-lang-python=\"`load_balancer`\" pulumi-lang-yaml=\"`loadBalancer`\" pulumi-lang-java=\"`loadBalancer`\"\u003e`load_balancer`\u003c/span\u003e.\n"},"publicIp":{"type":"string"},"requestId":{"type":"string"},"securedCookies":{"type":"boolean"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the load balancers. Valid only for load balancers in a Net.\n"},"sourceSecurityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicySourceSecurityGroup:LoadBalancerPolicySourceSecurityGroup"},"description":"Information about the source security group of the load balancer, which you can use as part of your inbound rules for your registered VMs.\u003cbr /\u003e\nTo only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"The ID of the Subnet in which the load balancer was created.\n"},"subregionNames":{"type":"array","items":{"type":"string"},"description":"The ID of the Subregion in which the load balancer was created.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyTag:LoadBalancerPolicyTag"},"description":"One or more tags associated with the load balancer.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyTimeouts:LoadBalancerPolicyTimeouts"}},"type":"object","required":["applicationStickyCookiePolicies","backendVmIds","cookieExpirationPeriod","cookieName","dnsName","healthChecks","listeners","loadBalancerName","loadBalancerPolicyId","loadBalancerStickyCookiePolicies","loadBalancerType","netId","policyName","policyType","publicIp","requestId","securedCookies","securityGroups","sourceSecurityGroups","subnets","subregionNames","tags"],"inputProperties":{"accessLogs":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyAccessLog:LoadBalancerPolicyAccessLog"},"description":"Information about access logs.\n"},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs for the load balancer.\n"},"cookieExpirationPeriod":{"type":"number"},"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness. This parameter is required if you create a stickiness policy based on an application-generated cookie.\n"},"loadBalancerName":{"type":"string","description":"The name of the load balancer for which you want to create a policy.\n"},"loadBalancerPolicyId":{"type":"string"},"loadBalancerType":{"type":"string","description":"The type of load balancer. Valid only for load balancers in a Net.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, the load balancer has a public DNS name that resolves to a private IP.\n"},"policyName":{"type":"string","description":"The unique name of the policy, with a maximum length of 32 alphanumeric characters and dashes (`-`).\n"},"policyType":{"type":"string","description":"The type of stickiness policy you want to create: \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`loadBalancer`\" pulumi-lang-dotnet=\"`LoadBalancer`\" pulumi-lang-go=\"`loadBalancer`\" pulumi-lang-python=\"`load_balancer`\" pulumi-lang-yaml=\"`loadBalancer`\" pulumi-lang-java=\"`loadBalancer`\"\u003e`load_balancer`\u003c/span\u003e.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the load balancers. Valid only for load balancers in a Net.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"The ID of the Subnet in which the load balancer was created.\n"},"subregionNames":{"type":"array","items":{"type":"string"},"description":"The ID of the Subregion in which the load balancer was created.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyTimeouts:LoadBalancerPolicyTimeouts"}},"requiredInputs":["loadBalancerName","policyName","policyType"],"stateInputs":{"description":"Input properties used for looking up and filtering LoadBalancerPolicy resources.\n","properties":{"accessLogs":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyAccessLog:LoadBalancerPolicyAccessLog"},"description":"Information about access logs.\n"},"applicationStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyApplicationStickyCookiePolicy:LoadBalancerPolicyApplicationStickyCookiePolicy"},"description":"The stickiness policies defined for the load balancer.\n"},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs for the load balancer.\n"},"cookieExpirationPeriod":{"type":"number"},"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness. This parameter is required if you create a stickiness policy based on an application-generated cookie.\n"},"dnsName":{"type":"string","description":"The DNS name of the load balancer.\n"},"healthChecks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyHealthCheck:LoadBalancerPolicyHealthCheck"},"description":"Information about the health check configuration.\n"},"listeners":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyListener:LoadBalancerPolicyListener"},"description":"The listeners for the load balancer.\n"},"loadBalancerName":{"type":"string","description":"The name of the load balancer for which you want to create a policy.\n"},"loadBalancerPolicyId":{"type":"string"},"loadBalancerStickyCookiePolicies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyLoadBalancerStickyCookiePolicy:LoadBalancerPolicyLoadBalancerStickyCookiePolicy"},"description":"The policies defined for the load balancer.\n"},"loadBalancerType":{"type":"string","description":"The type of load balancer. Valid only for load balancers in a Net.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, the load balancer has a public DNS name that resolves to a private IP.\n"},"netId":{"type":"string","description":"The ID of the Net for the load balancer.\n"},"policyName":{"type":"string","description":"The unique name of the policy, with a maximum length of 32 alphanumeric characters and dashes (`-`).\n"},"policyType":{"type":"string","description":"The type of stickiness policy you want to create: \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`loadBalancer`\" pulumi-lang-dotnet=\"`LoadBalancer`\" pulumi-lang-go=\"`loadBalancer`\" pulumi-lang-python=\"`load_balancer`\" pulumi-lang-yaml=\"`loadBalancer`\" pulumi-lang-java=\"`loadBalancer`\"\u003e`load_balancer`\u003c/span\u003e.\n"},"publicIp":{"type":"string"},"requestId":{"type":"string"},"securedCookies":{"type":"boolean"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the load balancers. Valid only for load balancers in a Net.\n"},"sourceSecurityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicySourceSecurityGroup:LoadBalancerPolicySourceSecurityGroup"},"description":"Information about the source security group of the load balancer, which you can use as part of your inbound rules for your registered VMs.\u003cbr /\u003e\nTo only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"The ID of the Subnet in which the load balancer was created.\n"},"subregionNames":{"type":"array","items":{"type":"string"},"description":"The ID of the Subregion in which the load balancer was created.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyTag:LoadBalancerPolicyTag"},"description":"One or more tags associated with the load balancer.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerPolicyTimeouts:LoadBalancerPolicyTimeouts"}},"type":"object"}},"outscale:index/loadBalancerVms:LoadBalancerVms":{"description":"Manages load balancer VMs.\n\n\n\u003e **Note:** Use only one \u003cspan pulumi-lang-nodejs=\"`outscale.LoadBalancerVms`\" pulumi-lang-dotnet=\"`outscale.LoadBalancerVms`\" pulumi-lang-go=\"`LoadBalancerVms`\" pulumi-lang-python=\"`LoadBalancerVms`\" pulumi-lang-yaml=\"`outscale.LoadBalancerVms`\" pulumi-lang-java=\"`outscale.LoadBalancerVms`\"\u003e`outscale.LoadBalancerVms`\u003c/span\u003e resource per load balancer, to avoid a conflict between the different lists of backend VMs.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-loadbalancer).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst outscaleVm01 = new outscale.Vm(\"outscale_vm01\", {\n    imageId: \"ami-12345678\",\n    vmType: \"tinav5.c1r1p2\",\n    keypairName: keypairName,\n});\nconst outscaleVm02 = new outscale.Vm(\"outscale_vm02\", {\n    imageId: imageId,\n    vmType: vmType,\n    keypairName: keypairName,\n});\nconst loadBalancer01 = new outscale.LoadBalancer(\"load_balancer01\", {\n    loadBalancerName: \"load-balancer-for-backend-vms\",\n    subregionNames: [`${region}a`],\n    listeners: [{\n        backendPort: 80,\n        backendProtocol: \"TCP\",\n        loadBalancerProtocol: \"TCP\",\n        loadBalancerPort: 80,\n    }],\n    tags: [{\n        key: \"name\",\n        value: \"outscale_load_balancer01\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\noutscale_vm01 = outscale.Vm(\"outscale_vm01\",\n    image_id=\"ami-12345678\",\n    vm_type=\"tinav5.c1r1p2\",\n    keypair_name=keypair_name)\noutscale_vm02 = outscale.Vm(\"outscale_vm02\",\n    image_id=image_id,\n    vm_type=vm_type,\n    keypair_name=keypair_name)\nload_balancer01 = outscale.LoadBalancer(\"load_balancer01\",\n    load_balancer_name=\"load-balancer-for-backend-vms\",\n    subregion_names=[f\"{region}a\"],\n    listeners=[{\n        \"backend_port\": 80,\n        \"backend_protocol\": \"TCP\",\n        \"load_balancer_protocol\": \"TCP\",\n        \"load_balancer_port\": 80,\n    }],\n    tags=[{\n        \"key\": \"name\",\n        \"value\": \"outscale_load_balancer01\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var outscaleVm01 = new Outscale.Vm(\"outscale_vm01\", new()\n    {\n        ImageId = \"ami-12345678\",\n        VmType = \"tinav5.c1r1p2\",\n        KeypairName = keypairName,\n    });\n\n    var outscaleVm02 = new Outscale.Vm(\"outscale_vm02\", new()\n    {\n        ImageId = imageId,\n        VmType = vmType,\n        KeypairName = keypairName,\n    });\n\n    var loadBalancer01 = new Outscale.LoadBalancer(\"load_balancer01\", new()\n    {\n        LoadBalancerName = \"load-balancer-for-backend-vms\",\n        SubregionNames = new[]\n        {\n            $\"{region}a\",\n        },\n        Listeners = new[]\n        {\n            new Outscale.Inputs.LoadBalancerListenerArgs\n            {\n                BackendPort = 80,\n                BackendProtocol = \"TCP\",\n                LoadBalancerProtocol = \"TCP\",\n                LoadBalancerPort = 80,\n            },\n        },\n        Tags = new[]\n        {\n            new Outscale.Inputs.LoadBalancerTagArgs\n            {\n                Key = \"name\",\n                Value = \"outscale_load_balancer01\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVm(ctx, \"outscale_vm01\", \u0026outscale.VmArgs{\n\t\t\tImageId:     pulumi.String(\"ami-12345678\"),\n\t\t\tVmType:      pulumi.String(\"tinav5.c1r1p2\"),\n\t\t\tKeypairName: pulumi.Any(keypairName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewVm(ctx, \"outscale_vm02\", \u0026outscale.VmArgs{\n\t\t\tImageId:     pulumi.Any(imageId),\n\t\t\tVmType:      pulumi.Any(vmType),\n\t\t\tKeypairName: pulumi.Any(keypairName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewLoadBalancer(ctx, \"load_balancer01\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"load-balancer-for-backend-vms\"),\n\t\t\tSubregionNames: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"%va\", region),\n\t\t\t},\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort:          pulumi.Float64(80),\n\t\t\t\t\tBackendProtocol:      pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerPort:     pulumi.Float64(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: outscale.LoadBalancerTagArray{\n\t\t\t\t\u0026outscale.LoadBalancerTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"outscale_load_balancer01\"),\n\t\t\t\t},\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.outscale.Vm;\nimport com.pulumi.outscale.VmArgs;\nimport com.pulumi.outscale.LoadBalancer;\nimport com.pulumi.outscale.LoadBalancerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.outscale.inputs.LoadBalancerTagArgs;\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        var outscaleVm01 = new Vm(\"outscaleVm01\", VmArgs.builder()\n            .imageId(\"ami-12345678\")\n            .vmType(\"tinav5.c1r1p2\")\n            .keypairName(keypairName)\n            .build());\n\n        var outscaleVm02 = new Vm(\"outscaleVm02\", VmArgs.builder()\n            .imageId(imageId)\n            .vmType(vmType)\n            .keypairName(keypairName)\n            .build());\n\n        var loadBalancer01 = new LoadBalancer(\"loadBalancer01\", LoadBalancerArgs.builder()\n            .loadBalancerName(\"load-balancer-for-backend-vms\")\n            .subregionNames(String.format(\"%sa\", region))\n            .listeners(LoadBalancerListenerArgs.builder()\n                .backendPort(80.0)\n                .backendProtocol(\"TCP\")\n                .loadBalancerProtocol(\"TCP\")\n                .loadBalancerPort(80.0)\n                .build())\n            .tags(LoadBalancerTagArgs.builder()\n                .key(\"name\")\n                .value(\"outscale_load_balancer01\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  outscaleVm01:\n    type: outscale:Vm\n    name: outscale_vm01\n    properties:\n      imageId: ami-12345678\n      vmType: tinav5.c1r1p2\n      keypairName: ${keypairName}\n  outscaleVm02:\n    type: outscale:Vm\n    name: outscale_vm02\n    properties:\n      imageId: ${imageId}\n      vmType: ${vmType}\n      keypairName: ${keypairName}\n  loadBalancer01:\n    type: outscale:LoadBalancer\n    name: load_balancer01\n    properties:\n      loadBalancerName: load-balancer-for-backend-vms\n      subregionNames:\n        - ${region}a\n      listeners:\n        - backendPort: 80\n          backendProtocol: TCP\n          loadBalancerProtocol: TCP\n          loadBalancerPort: 80\n      tags:\n        - key: name\n          value: outscale_load_balancer01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Register VMs with a load balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst outscaleLoadBalancerVms01 = new outscale.LoadBalancerVms(\"outscale_load_balancer_vms01\", {\n    loadBalancerName: \"load-balancer-for-backend-vms\",\n    backendVmIds: [\n        outscaleVm01.vmId,\n        outscaleVm02.vmId,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\noutscale_load_balancer_vms01 = outscale.LoadBalancerVms(\"outscale_load_balancer_vms01\",\n    load_balancer_name=\"load-balancer-for-backend-vms\",\n    backend_vm_ids=[\n        outscale_vm01[\"vmId\"],\n        outscale_vm02[\"vmId\"],\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var outscaleLoadBalancerVms01 = new Outscale.LoadBalancerVms(\"outscale_load_balancer_vms01\", new()\n    {\n        LoadBalancerName = \"load-balancer-for-backend-vms\",\n        BackendVmIds = new[]\n        {\n            outscaleVm01.VmId,\n            outscaleVm02.VmId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancerVms(ctx, \"outscale_load_balancer_vms01\", \u0026outscale.LoadBalancerVmsArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"load-balancer-for-backend-vms\"),\n\t\t\tBackendVmIds: pulumi.StringArray{\n\t\t\t\toutscaleVm01.VmId,\n\t\t\t\toutscaleVm02.VmId,\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.outscale.LoadBalancerVms;\nimport com.pulumi.outscale.LoadBalancerVmsArgs;\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        var outscaleLoadBalancerVms01 = new LoadBalancerVms(\"outscaleLoadBalancerVms01\", LoadBalancerVmsArgs.builder()\n            .loadBalancerName(\"load-balancer-for-backend-vms\")\n            .backendVmIds(            \n                outscaleVm01.vmId(),\n                outscaleVm02.vmId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  outscaleLoadBalancerVms01:\n    type: outscale:LoadBalancerVms\n    name: outscale_load_balancer_vms01\n    properties:\n      loadBalancerName: load-balancer-for-backend-vms\n      backendVmIds:\n        - ${outscaleVm01.vmId}\n        - ${outscaleVm02.vmId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Register IPs with a load balancer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst outscaleLoadBalancerVms01 = new outscale.LoadBalancerVms(\"outscale_load_balancer_vms01\", {\n    loadBalancerName: \"load-balancer-for-backend-vms\",\n    backendIps: [\n        outscaleVm01.publicIp,\n        outscaleVm02.publicIp,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\noutscale_load_balancer_vms01 = outscale.LoadBalancerVms(\"outscale_load_balancer_vms01\",\n    load_balancer_name=\"load-balancer-for-backend-vms\",\n    backend_ips=[\n        outscale_vm01[\"publicIp\"],\n        outscale_vm02[\"publicIp\"],\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var outscaleLoadBalancerVms01 = new Outscale.LoadBalancerVms(\"outscale_load_balancer_vms01\", new()\n    {\n        LoadBalancerName = \"load-balancer-for-backend-vms\",\n        BackendIps = new[]\n        {\n            outscaleVm01.PublicIp,\n            outscaleVm02.PublicIp,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewLoadBalancerVms(ctx, \"outscale_load_balancer_vms01\", \u0026outscale.LoadBalancerVmsArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"load-balancer-for-backend-vms\"),\n\t\t\tBackendIps: pulumi.StringArray{\n\t\t\t\toutscaleVm01.PublicIp,\n\t\t\t\toutscaleVm02.PublicIp,\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.outscale.LoadBalancerVms;\nimport com.pulumi.outscale.LoadBalancerVmsArgs;\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        var outscaleLoadBalancerVms01 = new LoadBalancerVms(\"outscaleLoadBalancerVms01\", LoadBalancerVmsArgs.builder()\n            .loadBalancerName(\"load-balancer-for-backend-vms\")\n            .backendIps(            \n                outscaleVm01.publicIp(),\n                outscaleVm02.publicIp())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  outscaleLoadBalancerVms01:\n    type: outscale:LoadBalancerVms\n    name: outscale_load_balancer_vms01\n    properties:\n      loadBalancerName: load-balancer-for-backend-vms\n      backendIps:\n        - ${outscaleVm01.publicIp}\n        - ${outscaleVm02.publicIp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"backendIps":{"type":"array","items":{"type":"string"}},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs.\u003cbr /\u003e\nSpecifying the same ID several times has no effect as each backend VM has equal weight.\n"},"loadBalancerName":{"type":"string","description":"The name of the load balancer.\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerVmsTimeouts:LoadBalancerVmsTimeouts"}},"type":"object","required":["loadBalancerName","requestId"],"inputProperties":{"backendIps":{"type":"array","items":{"type":"string"}},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs.\u003cbr /\u003e\nSpecifying the same ID several times has no effect as each backend VM has equal weight.\n"},"loadBalancerName":{"type":"string","description":"The name of the load balancer.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerVmsTimeouts:LoadBalancerVmsTimeouts"}},"requiredInputs":["loadBalancerName"],"stateInputs":{"description":"Input properties used for looking up and filtering LoadBalancerVms resources.\n","properties":{"backendIps":{"type":"array","items":{"type":"string"}},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs.\u003cbr /\u003e\nSpecifying the same ID several times has no effect as each backend VM has equal weight.\n"},"loadBalancerName":{"type":"string","description":"The name of the load balancer.\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FLoadBalancerVmsTimeouts:LoadBalancerVmsTimeouts"}},"type":"object"}},"outscale:index/mainRouteTableLink:MainRouteTableLink":{"description":"Manages a main route table link.\n\n\n\u003e **Note:** On Net creation, the OUTSCALE API always creates an initial main route table. The \u003cspan pulumi-lang-nodejs=\"`mainRouteTableLink`\" pulumi-lang-dotnet=\"`MainRouteTableLink`\" pulumi-lang-go=\"`mainRouteTableLink`\" pulumi-lang-python=\"`main_route_table_link`\" pulumi-lang-yaml=\"`mainRouteTableLink`\" pulumi-lang-java=\"`mainRouteTableLink`\"\u003e`main_route_table_link`\u003c/span\u003eresource records the ID of the inital route table under the \u003cspan pulumi-lang-nodejs=\"`defaultRouteTableId`\" pulumi-lang-dotnet=\"`DefaultRouteTableId`\" pulumi-lang-go=\"`defaultRouteTableId`\" pulumi-lang-python=\"`default_route_table_id`\" pulumi-lang-yaml=\"`defaultRouteTableId`\" pulumi-lang-java=\"`defaultRouteTableId`\"\u003e`default_route_table_id`\u003c/span\u003e attribute. The \"Destroy\" action for a \u003cspan pulumi-lang-nodejs=\"`mainRouteTableLink`\" pulumi-lang-dotnet=\"`MainRouteTableLink`\" pulumi-lang-go=\"`mainRouteTableLink`\" pulumi-lang-python=\"`main_route_table_link`\" pulumi-lang-yaml=\"`mainRouteTableLink`\" pulumi-lang-java=\"`mainRouteTableLink`\"\u003e`main_route_table_link`\u003c/span\u003e consists of resetting the original route table as the main route table for the Net. The additional route table must remain intact in order for the \u003cspan pulumi-lang-nodejs=\"`mainRouteTableLink`\" pulumi-lang-dotnet=\"`MainRouteTableLink`\" pulumi-lang-go=\"`mainRouteTableLink`\" pulumi-lang-python=\"`main_route_table_link`\" pulumi-lang-yaml=\"`mainRouteTableLink`\" pulumi-lang-java=\"`mainRouteTableLink`\"\u003e`main_route_table_link`\u003c/span\u003e destroy to work properly.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Route-Tables.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-routetable).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n    netId: net01.netId,\n    ipRange: \"10.0.0.0/18\",\n});\nconst routeTable01 = new outscale.RouteTable(\"route_table01\", {netId: net01.netId});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nsubnet01 = outscale.Subnet(\"subnet01\",\n    net_id=net01.net_id,\n    ip_range=\"10.0.0.0/18\")\nroute_table01 = outscale.RouteTable(\"route_table01\", net_id=net01.net_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n    {\n        NetId = net01.NetId,\n        IpRange = \"10.0.0.0/18\",\n    });\n\n    var routeTable01 = new Outscale.RouteTable(\"route_table01\", new()\n    {\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewSubnet(ctx, \"subnet01\", \u0026outscale.SubnetArgs{\n\t\t\tNetId:   net01.NetId,\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/18\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewRouteTable(ctx, \"route_table01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: net01.NetId,\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder()\n            .netId(net01.netId())\n            .ipRange(\"10.0.0.0/18\")\n            .build());\n\n        var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder()\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  subnet01:\n    type: outscale:Subnet\n    properties:\n      netId: ${net01.netId}\n      ipRange: 10.0.0.0/18\n  routeTable01:\n    type: outscale:RouteTable\n    name: route_table01\n    properties:\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Link a main route table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst main = new outscale.MainRouteTableLink(\"main\", {\n    netId: net01.netId,\n    routeTableId: routeTable01.routeTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nmain = outscale.MainRouteTableLink(\"main\",\n    net_id=net01[\"netId\"],\n    route_table_id=route_table01[\"routeTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Outscale.MainRouteTableLink(\"main\", new()\n    {\n        NetId = net01.NetId,\n        RouteTableId = routeTable01.RouteTableId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewMainRouteTableLink(ctx, \"main\", \u0026outscale.MainRouteTableLinkArgs{\n\t\t\tNetId:        pulumi.Any(net01.NetId),\n\t\t\tRouteTableId: pulumi.Any(routeTable01.RouteTableId),\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.outscale.MainRouteTableLink;\nimport com.pulumi.outscale.MainRouteTableLinkArgs;\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        var main = new MainRouteTableLink(\"main\", MainRouteTableLinkArgs.builder()\n            .netId(net01.netId())\n            .routeTableId(routeTable01.routeTableId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: outscale:MainRouteTableLink\n    properties:\n      netId: ${net01.netId}\n      routeTableId: ${routeTable01.routeTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"defaultRouteTableId":{"type":"string","description":"The ID of the default route table.\n"},"linkRouteTableId":{"type":"string","description":"The ID of the association between the route table and the Subnet.\n"},"main":{"type":"boolean","description":"If true, the route table is the main one.\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"requestId":{"type":"string"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"subnetId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FMainRouteTableLinkTimeouts:MainRouteTableLinkTimeouts"}},"type":"object","required":["defaultRouteTableId","linkRouteTableId","main","netId","requestId","routeTableId","subnetId"],"inputProperties":{"netId":{"type":"string","description":"The ID of the Net.\n"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FMainRouteTableLinkTimeouts:MainRouteTableLinkTimeouts"}},"requiredInputs":["netId","routeTableId"],"stateInputs":{"description":"Input properties used for looking up and filtering MainRouteTableLink resources.\n","properties":{"defaultRouteTableId":{"type":"string","description":"The ID of the default route table.\n"},"linkRouteTableId":{"type":"string","description":"The ID of the association between the route table and the Subnet.\n"},"main":{"type":"boolean","description":"If true, the route table is the main one.\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"requestId":{"type":"string"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"subnetId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FMainRouteTableLinkTimeouts:MainRouteTableLinkTimeouts"}},"type":"object"}},"outscale:index/natService:NatService":{"description":"Manages a NAT service.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-NAT-Services.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-natservice).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n    netId: net01.netId,\n    ipRange: \"10.0.0.0/18\",\n});\nconst routeTable01 = new outscale.RouteTable(\"route_table01\", {netId: net01.netId});\nconst outscaleRouteTableLink01 = new outscale.RouteTableLink(\"outscale_route_table_link01\", {\n    subnetId: subnet01.subnetId,\n    routeTableId: routeTable01.routeTableId,\n});\nconst internetService01 = new outscale.InternetService(\"internet_service01\", {});\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internet_service_link01\", {\n    netId: net01.netId,\n    internetServiceId: internetService01.internetServiceId,\n});\nconst route01 = new outscale.Route(\"route01\", {\n    destinationIpRange: \"0.0.0.0/0\",\n    gatewayId: internetService01.internetServiceId,\n    routeTableId: routeTable01.routeTableId,\n}, {\n    dependsOn: [internetServiceLink01],\n});\nconst publicIp01 = new outscale.PublicIp(\"public_ip01\", {});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nsubnet01 = outscale.Subnet(\"subnet01\",\n    net_id=net01.net_id,\n    ip_range=\"10.0.0.0/18\")\nroute_table01 = outscale.RouteTable(\"route_table01\", net_id=net01.net_id)\noutscale_route_table_link01 = outscale.RouteTableLink(\"outscale_route_table_link01\",\n    subnet_id=subnet01.subnet_id,\n    route_table_id=route_table01.route_table_id)\ninternet_service01 = outscale.InternetService(\"internet_service01\")\ninternet_service_link01 = outscale.InternetServiceLink(\"internet_service_link01\",\n    net_id=net01.net_id,\n    internet_service_id=internet_service01.internet_service_id)\nroute01 = outscale.Route(\"route01\",\n    destination_ip_range=\"0.0.0.0/0\",\n    gateway_id=internet_service01.internet_service_id,\n    route_table_id=route_table01.route_table_id,\n    opts = pulumi.ResourceOptions(depends_on=[internet_service_link01]))\npublic_ip01 = outscale.PublicIp(\"public_ip01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n    {\n        NetId = net01.NetId,\n        IpRange = \"10.0.0.0/18\",\n    });\n\n    var routeTable01 = new Outscale.RouteTable(\"route_table01\", new()\n    {\n        NetId = net01.NetId,\n    });\n\n    var outscaleRouteTableLink01 = new Outscale.RouteTableLink(\"outscale_route_table_link01\", new()\n    {\n        SubnetId = subnet01.SubnetId,\n        RouteTableId = routeTable01.RouteTableId,\n    });\n\n    var internetService01 = new Outscale.InternetService(\"internet_service01\");\n\n    var internetServiceLink01 = new Outscale.InternetServiceLink(\"internet_service_link01\", new()\n    {\n        NetId = net01.NetId,\n        InternetServiceId = internetService01.InternetServiceId,\n    });\n\n    var route01 = new Outscale.Route(\"route01\", new()\n    {\n        DestinationIpRange = \"0.0.0.0/0\",\n        GatewayId = internetService01.InternetServiceId,\n        RouteTableId = routeTable01.RouteTableId,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            internetServiceLink01,\n        },\n    });\n\n    var publicIp01 = new Outscale.PublicIp(\"public_ip01\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet01, err := outscale.NewSubnet(ctx, \"subnet01\", \u0026outscale.SubnetArgs{\n\t\t\tNetId:   net01.NetId,\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/18\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trouteTable01, err := outscale.NewRouteTable(ctx, \"route_table01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: net01.NetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewRouteTableLink(ctx, \"outscale_route_table_link01\", \u0026outscale.RouteTableLinkArgs{\n\t\t\tSubnetId:     subnet01.SubnetId,\n\t\t\tRouteTableId: routeTable01.RouteTableId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternetService01, err := outscale.NewInternetService(ctx, \"internet_service01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternetServiceLink01, err := outscale.NewInternetServiceLink(ctx, \"internet_service_link01\", \u0026outscale.InternetServiceLinkArgs{\n\t\t\tNetId:             net01.NetId,\n\t\t\tInternetServiceId: internetService01.InternetServiceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewRoute(ctx, \"route01\", \u0026outscale.RouteArgs{\n\t\t\tDestinationIpRange: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tGatewayId:          internetService01.InternetServiceId,\n\t\t\tRouteTableId:       routeTable01.RouteTableId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tinternetServiceLink01,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewPublicIp(ctx, \"public_ip01\", nil)\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\nimport com.pulumi.outscale.RouteTableLink;\nimport com.pulumi.outscale.RouteTableLinkArgs;\nimport com.pulumi.outscale.InternetService;\nimport com.pulumi.outscale.InternetServiceLink;\nimport com.pulumi.outscale.InternetServiceLinkArgs;\nimport com.pulumi.outscale.Route;\nimport com.pulumi.outscale.RouteArgs;\nimport com.pulumi.outscale.PublicIp;\nimport com.pulumi.resources.CustomResourceOptions;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder()\n            .netId(net01.netId())\n            .ipRange(\"10.0.0.0/18\")\n            .build());\n\n        var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder()\n            .netId(net01.netId())\n            .build());\n\n        var outscaleRouteTableLink01 = new RouteTableLink(\"outscaleRouteTableLink01\", RouteTableLinkArgs.builder()\n            .subnetId(subnet01.subnetId())\n            .routeTableId(routeTable01.routeTableId())\n            .build());\n\n        var internetService01 = new InternetService(\"internetService01\");\n\n        var internetServiceLink01 = new InternetServiceLink(\"internetServiceLink01\", InternetServiceLinkArgs.builder()\n            .netId(net01.netId())\n            .internetServiceId(internetService01.internetServiceId())\n            .build());\n\n        var route01 = new Route(\"route01\", RouteArgs.builder()\n            .destinationIpRange(\"0.0.0.0/0\")\n            .gatewayId(internetService01.internetServiceId())\n            .routeTableId(routeTable01.routeTableId())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(internetServiceLink01)\n                .build());\n\n        var publicIp01 = new PublicIp(\"publicIp01\");\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  subnet01:\n    type: outscale:Subnet\n    properties:\n      netId: ${net01.netId}\n      ipRange: 10.0.0.0/18\n  routeTable01:\n    type: outscale:RouteTable\n    name: route_table01\n    properties:\n      netId: ${net01.netId}\n  outscaleRouteTableLink01:\n    type: outscale:RouteTableLink\n    name: outscale_route_table_link01\n    properties:\n      subnetId: ${subnet01.subnetId}\n      routeTableId: ${routeTable01.routeTableId}\n  internetService01:\n    type: outscale:InternetService\n    name: internet_service01\n  internetServiceLink01:\n    type: outscale:InternetServiceLink\n    name: internet_service_link01\n    properties:\n      netId: ${net01.netId}\n      internetServiceId: ${internetService01.internetServiceId}\n  route01:\n    type: outscale:Route\n    properties:\n      destinationIpRange: 0.0.0.0/0\n      gatewayId: ${internetService01.internetServiceId}\n      routeTableId: ${routeTable01.routeTableId}\n    options:\n      dependsOn:\n        - ${internetServiceLink01}\n  publicIp01:\n    type: outscale:PublicIp\n    name: public_ip01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a NAT service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst natService01 = new outscale.NatService(\"nat_service01\", {\n    subnetId: subnet01.subnetId,\n    publicIpId: publicIp01.publicIpId,\n}, {\n    dependsOn: [route01],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnat_service01 = outscale.NatService(\"nat_service01\",\n    subnet_id=subnet01[\"subnetId\"],\n    public_ip_id=public_ip01[\"publicIpId\"],\n    opts = pulumi.ResourceOptions(depends_on=[route01]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var natService01 = new Outscale.NatService(\"nat_service01\", new()\n    {\n        SubnetId = subnet01.SubnetId,\n        PublicIpId = publicIp01.PublicIpId,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            route01,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNatService(ctx, \"nat_service01\", \u0026outscale.NatServiceArgs{\n\t\t\tSubnetId:   pulumi.Any(subnet01.SubnetId),\n\t\t\tPublicIpId: pulumi.Any(publicIp01.PublicIpId),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\troute01,\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.outscale.NatService;\nimport com.pulumi.outscale.NatServiceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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        var natService01 = new NatService(\"natService01\", NatServiceArgs.builder()\n            .subnetId(subnet01.subnetId())\n            .publicIpId(publicIp01.publicIpId())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(route01)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  natService01:\n    type: outscale:NatService\n    name: nat_service01\n    properties:\n      subnetId: ${subnet01.subnetId}\n      publicIpId: ${publicIp01.publicIpId}\n    options:\n      dependsOn:\n        - ${route01}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA NAT service can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/natService:NatService ImportedNatService nat-87654321\n```\n\n","properties":{"natServiceId":{"type":"string","description":"The ID of the NAT service.\n"},"netId":{"type":"string","description":"The ID of the Net in which the NAT service is.\n"},"outscaleNatServiceId":{"type":"string"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP to associate with the NAT service.\u003cbr /\u003e\nIf the public IP is already associated with another resource, you must first disassociate it.\n"},"publicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNatServicePublicIp:NatServicePublicIp"},"description":"Information about the public IP or IPs associated with the NAT service.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the NAT service (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the NAT service.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNatServiceTag:NatServiceTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNatServiceTimeouts:NatServiceTimeouts"}},"type":"object","required":["natServiceId","netId","outscaleNatServiceId","publicIpId","publicIps","requestId","state","subnetId"],"inputProperties":{"outscaleNatServiceId":{"type":"string"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP to associate with the NAT service.\u003cbr /\u003e\nIf the public IP is already associated with another resource, you must first disassociate it.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the NAT service.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNatServiceTag:NatServiceTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNatServiceTimeouts:NatServiceTimeouts"}},"requiredInputs":["publicIpId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering NatService resources.\n","properties":{"natServiceId":{"type":"string","description":"The ID of the NAT service.\n"},"netId":{"type":"string","description":"The ID of the Net in which the NAT service is.\n"},"outscaleNatServiceId":{"type":"string"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP to associate with the NAT service.\u003cbr /\u003e\nIf the public IP is already associated with another resource, you must first disassociate it.\n"},"publicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNatServicePublicIp:NatServicePublicIp"},"description":"Information about the public IP or IPs associated with the NAT service.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the NAT service (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the NAT service.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNatServiceTag:NatServiceTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNatServiceTimeouts:NatServiceTimeouts"}},"type":"object"}},"outscale:index/net:Net":{"description":"Manages a Net.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Nets.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-net).\n\n## Example Usage\n\n### Create a Net\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {\n    ipRange: \"10.10.0.0/16\",\n    tenancy: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\",\n    ip_range=\"10.10.0.0/16\",\n    tenancy=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.10.0.0/16\",\n        Tenancy = \"default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.10.0.0/16\"),\n\t\t\tTenancy: pulumi.String(\"default\"),\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.10.0.0/16\")\n            .tenancy(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.10.0.0/16\n      tenancy: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a Net with a network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net02 = new outscale.Net(\"net02\", {ipRange: \"10.0.0.0/16\"});\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n    netId: net02.netId,\n    ipRange: \"10.0.0.0/18\",\n});\nconst publicIp01 = new outscale.PublicIp(\"public_ip01\", {});\nconst natService01 = new outscale.NatService(\"nat_service01\", {\n    subnetId: subnet01.subnetId,\n    publicIpId: publicIp01.publicIpId,\n});\nconst routeTable01 = new outscale.RouteTable(\"route_table01\", {netId: net02.netId});\nconst internetService01 = new outscale.InternetService(\"internet_service01\", {});\nconst route01 = new outscale.Route(\"route01\", {\n    destinationIpRange: \"0.0.0.0/0\",\n    gatewayId: internetService01.internetServiceId,\n    routeTableId: routeTable01.routeTableId,\n});\nconst routeTableLink01 = new outscale.RouteTableLink(\"route_table_link01\", {\n    subnetId: subnet01.subnetId,\n    routeTableId: routeTable01.id,\n});\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internet_service_link01\", {\n    netId: net02.netId,\n    internetServiceId: internetService01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet02 = outscale.Net(\"net02\", ip_range=\"10.0.0.0/16\")\nsubnet01 = outscale.Subnet(\"subnet01\",\n    net_id=net02.net_id,\n    ip_range=\"10.0.0.0/18\")\npublic_ip01 = outscale.PublicIp(\"public_ip01\")\nnat_service01 = outscale.NatService(\"nat_service01\",\n    subnet_id=subnet01.subnet_id,\n    public_ip_id=public_ip01.public_ip_id)\nroute_table01 = outscale.RouteTable(\"route_table01\", net_id=net02.net_id)\ninternet_service01 = outscale.InternetService(\"internet_service01\")\nroute01 = outscale.Route(\"route01\",\n    destination_ip_range=\"0.0.0.0/0\",\n    gateway_id=internet_service01.internet_service_id,\n    route_table_id=route_table01.route_table_id)\nroute_table_link01 = outscale.RouteTableLink(\"route_table_link01\",\n    subnet_id=subnet01.subnet_id,\n    route_table_id=route_table01.id)\ninternet_service_link01 = outscale.InternetServiceLink(\"internet_service_link01\",\n    net_id=net02.net_id,\n    internet_service_id=internet_service01.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net02 = new Outscale.Net(\"net02\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n    {\n        NetId = net02.NetId,\n        IpRange = \"10.0.0.0/18\",\n    });\n\n    var publicIp01 = new Outscale.PublicIp(\"public_ip01\");\n\n    var natService01 = new Outscale.NatService(\"nat_service01\", new()\n    {\n        SubnetId = subnet01.SubnetId,\n        PublicIpId = publicIp01.PublicIpId,\n    });\n\n    var routeTable01 = new Outscale.RouteTable(\"route_table01\", new()\n    {\n        NetId = net02.NetId,\n    });\n\n    var internetService01 = new Outscale.InternetService(\"internet_service01\");\n\n    var route01 = new Outscale.Route(\"route01\", new()\n    {\n        DestinationIpRange = \"0.0.0.0/0\",\n        GatewayId = internetService01.InternetServiceId,\n        RouteTableId = routeTable01.RouteTableId,\n    });\n\n    var routeTableLink01 = new Outscale.RouteTableLink(\"route_table_link01\", new()\n    {\n        SubnetId = subnet01.SubnetId,\n        RouteTableId = routeTable01.Id,\n    });\n\n    var internetServiceLink01 = new Outscale.InternetServiceLink(\"internet_service_link01\", new()\n    {\n        NetId = net02.NetId,\n        InternetServiceId = internetService01.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet02, err := outscale.NewNet(ctx, \"net02\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet01, err := outscale.NewSubnet(ctx, \"subnet01\", \u0026outscale.SubnetArgs{\n\t\t\tNetId:   net02.NetId,\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/18\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpublicIp01, err := outscale.NewPublicIp(ctx, \"public_ip01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewNatService(ctx, \"nat_service01\", \u0026outscale.NatServiceArgs{\n\t\t\tSubnetId:   subnet01.SubnetId,\n\t\t\tPublicIpId: publicIp01.PublicIpId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trouteTable01, err := outscale.NewRouteTable(ctx, \"route_table01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: net02.NetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternetService01, err := outscale.NewInternetService(ctx, \"internet_service01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewRoute(ctx, \"route01\", \u0026outscale.RouteArgs{\n\t\t\tDestinationIpRange: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tGatewayId:          internetService01.InternetServiceId,\n\t\t\tRouteTableId:       routeTable01.RouteTableId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewRouteTableLink(ctx, \"route_table_link01\", \u0026outscale.RouteTableLinkArgs{\n\t\t\tSubnetId:     subnet01.SubnetId,\n\t\t\tRouteTableId: routeTable01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewInternetServiceLink(ctx, \"internet_service_link01\", \u0026outscale.InternetServiceLinkArgs{\n\t\t\tNetId:             net02.NetId,\n\t\t\tInternetServiceId: internetService01.ID(),\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.PublicIp;\nimport com.pulumi.outscale.NatService;\nimport com.pulumi.outscale.NatServiceArgs;\nimport com.pulumi.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\nimport com.pulumi.outscale.InternetService;\nimport com.pulumi.outscale.Route;\nimport com.pulumi.outscale.RouteArgs;\nimport com.pulumi.outscale.RouteTableLink;\nimport com.pulumi.outscale.RouteTableLinkArgs;\nimport com.pulumi.outscale.InternetServiceLink;\nimport com.pulumi.outscale.InternetServiceLinkArgs;\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        var net02 = new Net(\"net02\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder()\n            .netId(net02.netId())\n            .ipRange(\"10.0.0.0/18\")\n            .build());\n\n        var publicIp01 = new PublicIp(\"publicIp01\");\n\n        var natService01 = new NatService(\"natService01\", NatServiceArgs.builder()\n            .subnetId(subnet01.subnetId())\n            .publicIpId(publicIp01.publicIpId())\n            .build());\n\n        var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder()\n            .netId(net02.netId())\n            .build());\n\n        var internetService01 = new InternetService(\"internetService01\");\n\n        var route01 = new Route(\"route01\", RouteArgs.builder()\n            .destinationIpRange(\"0.0.0.0/0\")\n            .gatewayId(internetService01.internetServiceId())\n            .routeTableId(routeTable01.routeTableId())\n            .build());\n\n        var routeTableLink01 = new RouteTableLink(\"routeTableLink01\", RouteTableLinkArgs.builder()\n            .subnetId(subnet01.subnetId())\n            .routeTableId(routeTable01.id())\n            .build());\n\n        var internetServiceLink01 = new InternetServiceLink(\"internetServiceLink01\", InternetServiceLinkArgs.builder()\n            .netId(net02.netId())\n            .internetServiceId(internetService01.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net02:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  subnet01:\n    type: outscale:Subnet\n    properties:\n      netId: ${net02.netId}\n      ipRange: 10.0.0.0/18\n  publicIp01:\n    type: outscale:PublicIp\n    name: public_ip01\n  natService01:\n    type: outscale:NatService\n    name: nat_service01\n    properties:\n      subnetId: ${subnet01.subnetId}\n      publicIpId: ${publicIp01.publicIpId}\n  routeTable01:\n    type: outscale:RouteTable\n    name: route_table01\n    properties:\n      netId: ${net02.netId}\n  route01:\n    type: outscale:Route\n    properties:\n      destinationIpRange: 0.0.0.0/0\n      gatewayId: ${internetService01.internetServiceId}\n      routeTableId: ${routeTable01.routeTableId}\n  routeTableLink01:\n    type: outscale:RouteTableLink\n    name: route_table_link01\n    properties:\n      subnetId: ${subnet01.subnetId}\n      routeTableId: ${routeTable01.id}\n  internetService01:\n    type: outscale:InternetService\n    name: internet_service01\n  internetServiceLink01:\n    type: outscale:InternetServiceLink\n    name: internet_service_link01\n    properties:\n      netId: ${net02.netId}\n      internetServiceId: ${internetService01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Net can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/net:Net ImportedNet vpc-87654321\n```\n\n","properties":{"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set (or \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if you want to associate the default one).\n"},"ipRange":{"type":"string","description":"The IP range for the Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the Net (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetTag:NetTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"tenancy":{"type":"string","description":"The tenancy options for the VMs:\u003cbr /\u003e- \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if a VM created in a Net can be launched with any tenancy.\u003cbr /\u003e- \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e if it can be launched with dedicated tenancy VMs running on single-tenant hardware.\u003cbr /\u003e- `dedicated group ID` if it can be launched in a dedicated group on single-tenant hardware.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetTimeouts:NetTimeouts"}},"type":"object","required":["dhcpOptionsSetId","ipRange","netId","requestId","state","tenancy"],"inputProperties":{"ipRange":{"type":"string","description":"The IP range for the Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetTag:NetTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"tenancy":{"type":"string","description":"The tenancy options for the VMs:\u003cbr /\u003e- \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if a VM created in a Net can be launched with any tenancy.\u003cbr /\u003e- \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e if it can be launched with dedicated tenancy VMs running on single-tenant hardware.\u003cbr /\u003e- `dedicated group ID` if it can be launched in a dedicated group on single-tenant hardware.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetTimeouts:NetTimeouts"}},"requiredInputs":["ipRange"],"stateInputs":{"description":"Input properties used for looking up and filtering Net resources.\n","properties":{"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set (or \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if you want to associate the default one).\n"},"ipRange":{"type":"string","description":"The IP range for the Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the Net (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetTag:NetTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"tenancy":{"type":"string","description":"The tenancy options for the VMs:\u003cbr /\u003e- \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if a VM created in a Net can be launched with any tenancy.\u003cbr /\u003e- \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e if it can be launched with dedicated tenancy VMs running on single-tenant hardware.\u003cbr /\u003e- `dedicated group ID` if it can be launched in a dedicated group on single-tenant hardware.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetTimeouts:NetTimeouts"}},"type":"object"}},"outscale:index/netAccessPoint:NetAccessPoint":{"description":"Manages a Net access point.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Net-Access-Points.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netaccesspoint).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst routeTable01 = new outscale.RouteTable(\"route_table01\", {netId: net01.netId});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nroute_table01 = outscale.RouteTable(\"route_table01\", net_id=net01.net_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var routeTable01 = new Outscale.RouteTable(\"route_table01\", new()\n    {\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewRouteTable(ctx, \"route_table01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: net01.NetId,\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder()\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  routeTable01:\n    type: outscale:RouteTable\n    name: route_table01\n    properties:\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a Net access point\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netAccessPoint01 = new outscale.NetAccessPoint(\"net_access_point01\", {\n    netId: net01.netId,\n    routeTableIds: [routeTable01.routeTableId],\n    serviceName: \"com.outscale.eu-west-2.api\",\n    tags: [{\n        key: \"name\",\n        value: \"terraform-net-access-point\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_access_point01 = outscale.NetAccessPoint(\"net_access_point01\",\n    net_id=net01[\"netId\"],\n    route_table_ids=[route_table01[\"routeTableId\"]],\n    service_name=\"com.outscale.eu-west-2.api\",\n    tags=[{\n        \"key\": \"name\",\n        \"value\": \"terraform-net-access-point\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netAccessPoint01 = new Outscale.NetAccessPoint(\"net_access_point01\", new()\n    {\n        NetId = net01.NetId,\n        RouteTableIds = new[]\n        {\n            routeTable01.RouteTableId,\n        },\n        ServiceName = \"com.outscale.eu-west-2.api\",\n        Tags = new[]\n        {\n            new Outscale.Inputs.NetAccessPointTagArgs\n            {\n                Key = \"name\",\n                Value = \"terraform-net-access-point\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNetAccessPoint(ctx, \"net_access_point01\", \u0026outscale.NetAccessPointArgs{\n\t\t\tNetId: pulumi.Any(net01.NetId),\n\t\t\tRouteTableIds: pulumi.StringArray{\n\t\t\t\trouteTable01.RouteTableId,\n\t\t\t},\n\t\t\tServiceName: pulumi.String(\"com.outscale.eu-west-2.api\"),\n\t\t\tTags: outscale.NetAccessPointTagArray{\n\t\t\t\t\u0026outscale.NetAccessPointTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-net-access-point\"),\n\t\t\t\t},\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.outscale.NetAccessPoint;\nimport com.pulumi.outscale.NetAccessPointArgs;\nimport com.pulumi.outscale.inputs.NetAccessPointTagArgs;\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        var netAccessPoint01 = new NetAccessPoint(\"netAccessPoint01\", NetAccessPointArgs.builder()\n            .netId(net01.netId())\n            .routeTableIds(routeTable01.routeTableId())\n            .serviceName(\"com.outscale.eu-west-2.api\")\n            .tags(NetAccessPointTagArgs.builder()\n                .key(\"name\")\n                .value(\"terraform-net-access-point\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  netAccessPoint01:\n    type: outscale:NetAccessPoint\n    name: net_access_point01\n    properties:\n      netId: ${net01.netId}\n      routeTableIds:\n        - ${routeTable01.routeTableId}\n      serviceName: com.outscale.eu-west-2.api\n      tags:\n        - key: name\n          value: terraform-net-access-point\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Net access point can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/netAccessPoint:NetAccessPoint ImportedNetAccessPoint vpce-87654321\n```\n\n","properties":{"netAccessPointId":{"type":"string","description":"The ID of the Net access point.\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"requestId":{"type":"string"},"routeTableIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of route tables to use for the connection.\n"},"serviceName":{"type":"string","description":"The name of the service (in the format `com.outscale.region.service`).\n"},"state":{"type":"string","description":"The state of the Net access point (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetAccessPointTag:NetAccessPointTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetAccessPointTimeouts:NetAccessPointTimeouts"}},"type":"object","required":["netAccessPointId","netId","requestId","routeTableIds","serviceName","state"],"inputProperties":{"netId":{"type":"string","description":"The ID of the Net.\n"},"routeTableIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of route tables to use for the connection.\n"},"serviceName":{"type":"string","description":"The name of the service (in the format `com.outscale.region.service`).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetAccessPointTag:NetAccessPointTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetAccessPointTimeouts:NetAccessPointTimeouts"}},"requiredInputs":["netId","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering NetAccessPoint resources.\n","properties":{"netAccessPointId":{"type":"string","description":"The ID of the Net access point.\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"requestId":{"type":"string"},"routeTableIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of route tables to use for the connection.\n"},"serviceName":{"type":"string","description":"The name of the service (in the format `com.outscale.region.service`).\n"},"state":{"type":"string","description":"The state of the Net access point (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetAccessPointTag:NetAccessPointTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetAccessPointTimeouts:NetAccessPointTimeouts"}},"type":"object"}},"outscale:index/netAttributes:NetAttributes":{"description":"Manages the attributes of a Net.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-DHCP-Options.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#updatenet).\n\n## Example Usage\n\n### Required resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Associate a DHCP option set to a Net\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netAttributes01 = new outscale.NetAttributes(\"net_attributes01\", {\n    netId: net01.netId,\n    dhcpOptionsSetId: dhcpOptionsSetId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_attributes01 = outscale.NetAttributes(\"net_attributes01\",\n    net_id=net01[\"netId\"],\n    dhcp_options_set_id=dhcp_options_set_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netAttributes01 = new Outscale.NetAttributes(\"net_attributes01\", new()\n    {\n        NetId = net01.NetId,\n        DhcpOptionsSetId = dhcpOptionsSetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNetAttributes(ctx, \"net_attributes01\", \u0026outscale.NetAttributesArgs{\n\t\t\tNetId:            pulumi.Any(net01.NetId),\n\t\t\tDhcpOptionsSetId: pulumi.Any(dhcpOptionsSetId),\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.outscale.NetAttributes;\nimport com.pulumi.outscale.NetAttributesArgs;\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        var netAttributes01 = new NetAttributes(\"netAttributes01\", NetAttributesArgs.builder()\n            .netId(net01.netId())\n            .dhcpOptionsSetId(dhcpOptionsSetId)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  netAttributes01:\n    type: outscale:NetAttributes\n    name: net_attributes01\n    properties:\n      netId: ${net01.netId}\n      dhcpOptionsSetId: ${dhcpOptionsSetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Net attribute can be imported using the Net ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/netAttributes:NetAttributes ImportedNet vpc-12345678\n```\n\n","properties":{"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set (or \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if you want to associate the default one).\n"},"ipRange":{"type":"string","description":"The IP range for the Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the Net (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetAttributesTag:NetAttributesTag"},"description":"One or more tags associated with the Net.\n"},"tenancy":{"type":"string","description":"The VM tenancy in a Net.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetAttributesTimeouts:NetAttributesTimeouts"}},"type":"object","required":["dhcpOptionsSetId","ipRange","netId","requestId","state","tags","tenancy"],"inputProperties":{"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set (or \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if you want to associate the default one).\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetAttributesTimeouts:NetAttributesTimeouts"}},"requiredInputs":["dhcpOptionsSetId","netId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetAttributes resources.\n","properties":{"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set (or \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if you want to associate the default one).\n"},"ipRange":{"type":"string","description":"The IP range for the Net, in CIDR notation (for example, `10.0.0.0/16`).\n"},"netId":{"type":"string","description":"The ID of the Net.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the Net (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetAttributesTag:NetAttributesTag"},"description":"One or more tags associated with the Net.\n"},"tenancy":{"type":"string","description":"The VM tenancy in a Net.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetAttributesTimeouts:NetAttributesTimeouts"}},"type":"object"}},"outscale:index/netPeering:NetPeering":{"description":"Manages a Net peering.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Net-Peerings.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netpeering).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.10.0.0/24\"});\nconst net02 = new outscale.Net(\"net02\", {ipRange: \"10.31.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.10.0.0/24\")\nnet02 = outscale.Net(\"net02\", ip_range=\"10.31.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.10.0.0/24\",\n    });\n\n    var net02 = new Outscale.Net(\"net02\", new()\n    {\n        IpRange = \"10.31.0.0/16\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.10.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewNet(ctx, \"net02\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.31.0.0/16\"),\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.10.0.0/24\")\n            .build());\n\n        var net02 = new Net(\"net02\", NetArgs.builder()\n            .ipRange(\"10.31.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.10.0.0/24\n  net02:\n    type: outscale:Net\n    properties:\n      ipRange: 10.31.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Peer Nets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netPeering01 = new outscale.NetPeering(\"net_peering01\", {\n    accepterNetId: net01.netId,\n    sourceNetId: net02.netId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_peering01 = outscale.NetPeering(\"net_peering01\",\n    accepter_net_id=net01[\"netId\"],\n    source_net_id=net02[\"netId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netPeering01 = new Outscale.NetPeering(\"net_peering01\", new()\n    {\n        AccepterNetId = net01.NetId,\n        SourceNetId = net02.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNetPeering(ctx, \"net_peering01\", \u0026outscale.NetPeeringArgs{\n\t\t\tAccepterNetId: pulumi.Any(net01.NetId),\n\t\t\tSourceNetId:   pulumi.Any(net02.NetId),\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.outscale.NetPeering;\nimport com.pulumi.outscale.NetPeeringArgs;\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        var netPeering01 = new NetPeering(\"netPeering01\", NetPeeringArgs.builder()\n            .accepterNetId(net01.netId())\n            .sourceNetId(net02.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  netPeering01:\n    type: outscale:NetPeering\n    name: net_peering01\n    properties:\n      accepterNetId: ${net01.netId}\n      sourceNetId: ${net02.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Net peering can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/netPeering:NetPeering ImportedNetPeering pcx-12345678\n```\n\n","properties":{"accepterNetId":{"type":"string","description":"The ID of the Net you want to connect with.\n"},"accepterNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAccepterNet:NetPeeringAccepterNet"},"description":"Information about the accepter Net.\n"},"accepterOwnerId":{"type":"string","description":"The account ID of the owner of the Net you want to connect with. By default, the account ID of the owner of the Net from which the peering request is sent. \u003cbr /\u003e\u003cbr/ \u003e\nThis parameter is required if the Net you want to connect with does not belong to you.\n"},"expirationDate":{"type":"string","description":"The date and time (UTC) at which the Net peerings expire.\n"},"netPeeringId":{"type":"string","description":"The ID of the Net peering.\n"},"requestId":{"type":"string"},"sourceNetAccountId":{"type":"string"},"sourceNetId":{"type":"string","description":"The ID of the Net you send the peering request from.\n"},"sourceNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringSourceNet:NetPeeringSourceNet"},"description":"Information about the source Net.\n"},"states":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringState:NetPeeringState"},"description":"Information about the state of the Net peering.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringTag:NetPeeringTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetPeeringTimeouts:NetPeeringTimeouts"}},"type":"object","required":["accepterNetId","accepterNets","accepterOwnerId","expirationDate","netPeeringId","requestId","sourceNetAccountId","sourceNetId","sourceNets","states"],"inputProperties":{"accepterNetId":{"type":"string","description":"The ID of the Net you want to connect with.\n"},"accepterOwnerId":{"type":"string","description":"The account ID of the owner of the Net you want to connect with. By default, the account ID of the owner of the Net from which the peering request is sent. \u003cbr /\u003e\u003cbr/ \u003e\nThis parameter is required if the Net you want to connect with does not belong to you.\n"},"sourceNetAccountId":{"type":"string"},"sourceNetId":{"type":"string","description":"The ID of the Net you send the peering request from.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringTag:NetPeeringTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetPeeringTimeouts:NetPeeringTimeouts"}},"requiredInputs":["accepterNetId","sourceNetId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetPeering resources.\n","properties":{"accepterNetId":{"type":"string","description":"The ID of the Net you want to connect with.\n"},"accepterNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAccepterNet:NetPeeringAccepterNet"},"description":"Information about the accepter Net.\n"},"accepterOwnerId":{"type":"string","description":"The account ID of the owner of the Net you want to connect with. By default, the account ID of the owner of the Net from which the peering request is sent. \u003cbr /\u003e\u003cbr/ \u003e\nThis parameter is required if the Net you want to connect with does not belong to you.\n"},"expirationDate":{"type":"string","description":"The date and time (UTC) at which the Net peerings expire.\n"},"netPeeringId":{"type":"string","description":"The ID of the Net peering.\n"},"requestId":{"type":"string"},"sourceNetAccountId":{"type":"string"},"sourceNetId":{"type":"string","description":"The ID of the Net you send the peering request from.\n"},"sourceNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringSourceNet:NetPeeringSourceNet"},"description":"Information about the source Net.\n"},"states":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringState:NetPeeringState"},"description":"Information about the state of the Net peering.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringTag:NetPeeringTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetPeeringTimeouts:NetPeeringTimeouts"}},"type":"object"}},"outscale:index/netPeeringAcceptation:NetPeeringAcceptation":{"description":"Manages a Net peering acceptation.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Net-Peerings.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netpeering).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netPeeringAcceptation01 = new outscale.NetPeeringAcceptation(\"net_peering_acceptation01\", {netPeeringId: netPeering01.netPeeringId});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_peering_acceptation01 = outscale.NetPeeringAcceptation(\"net_peering_acceptation01\", net_peering_id=net_peering01[\"netPeeringId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netPeeringAcceptation01 = new Outscale.NetPeeringAcceptation(\"net_peering_acceptation01\", new()\n    {\n        NetPeeringId = netPeering01.NetPeeringId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNetPeeringAcceptation(ctx, \"net_peering_acceptation01\", \u0026outscale.NetPeeringAcceptationArgs{\n\t\t\tNetPeeringId: pulumi.Any(netPeering01.NetPeeringId),\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.outscale.NetPeeringAcceptation;\nimport com.pulumi.outscale.NetPeeringAcceptationArgs;\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        var netPeeringAcceptation01 = new NetPeeringAcceptation(\"netPeeringAcceptation01\", NetPeeringAcceptationArgs.builder()\n            .netPeeringId(netPeering01.netPeeringId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  netPeeringAcceptation01:\n    type: outscale:NetPeeringAcceptation\n    name: net_peering_acceptation01\n    properties:\n      netPeeringId: ${netPeering01.netPeeringId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accepterNetId":{"type":"string"},"accepterNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationAccepterNet:NetPeeringAcceptationAccepterNet"},"description":"Information about the accepter Net.\n"},"accepterOwnerId":{"type":"string"},"expirationDate":{"type":"string","description":"The date and time (UTC) at which the Net peerings expire.\n"},"netPeeringId":{"type":"string","description":"The ID of the Net peering you want to accept.\n"},"requestId":{"type":"string"},"sourceNetAccountId":{"type":"string"},"sourceNetId":{"type":"string"},"sourceNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationSourceNet:NetPeeringAcceptationSourceNet"},"description":"Information about the source Net.\n"},"states":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationState:NetPeeringAcceptationState"},"description":"Information about the state of the Net peering.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationTag:NetPeeringAcceptationTag"},"description":"One or more tags associated with the Net peering.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationTimeouts:NetPeeringAcceptationTimeouts"}},"type":"object","required":["accepterNetId","accepterNets","accepterOwnerId","expirationDate","netPeeringId","requestId","sourceNetAccountId","sourceNetId","sourceNets","states","tags"],"inputProperties":{"netPeeringId":{"type":"string","description":"The ID of the Net peering you want to accept.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationTimeouts:NetPeeringAcceptationTimeouts"}},"requiredInputs":["netPeeringId"],"stateInputs":{"description":"Input properties used for looking up and filtering NetPeeringAcceptation resources.\n","properties":{"accepterNetId":{"type":"string"},"accepterNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationAccepterNet:NetPeeringAcceptationAccepterNet"},"description":"Information about the accepter Net.\n"},"accepterOwnerId":{"type":"string"},"expirationDate":{"type":"string","description":"The date and time (UTC) at which the Net peerings expire.\n"},"netPeeringId":{"type":"string","description":"The ID of the Net peering you want to accept.\n"},"requestId":{"type":"string"},"sourceNetAccountId":{"type":"string"},"sourceNetId":{"type":"string"},"sourceNets":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationSourceNet:NetPeeringAcceptationSourceNet"},"description":"Information about the source Net.\n"},"states":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationState:NetPeeringAcceptationState"},"description":"Information about the state of the Net peering.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationTag:NetPeeringAcceptationTag"},"description":"One or more tags associated with the Net peering.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNetPeeringAcceptationTimeouts:NetPeeringAcceptationTimeouts"}},"type":"object"}},"outscale:index/nic:Nic":{"description":"Manages a network interface card (NIC).\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-NICs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n    subregionName: \"eu-west-2a\",\n    ipRange: \"10.0.0.0/18\",\n    netId: net01.netId,\n});\nconst securityGroup01 = new outscale.SecurityGroup(\"security_group01\", {\n    description: \"Terraform security group for nic with private IPs\",\n    securityGroupName: \"terraform-security-group-nic-ips\",\n    netId: net01.netId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nsubnet01 = outscale.Subnet(\"subnet01\",\n    subregion_name=\"eu-west-2a\",\n    ip_range=\"10.0.0.0/18\",\n    net_id=net01.net_id)\nsecurity_group01 = outscale.SecurityGroup(\"security_group01\",\n    description=\"Terraform security group for nic with private IPs\",\n    security_group_name=\"terraform-security-group-nic-ips\",\n    net_id=net01.net_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n    {\n        SubregionName = \"eu-west-2a\",\n        IpRange = \"10.0.0.0/18\",\n        NetId = net01.NetId,\n    });\n\n    var securityGroup01 = new Outscale.SecurityGroup(\"security_group01\", new()\n    {\n        Description = \"Terraform security group for nic with private IPs\",\n        SecurityGroupName = \"terraform-security-group-nic-ips\",\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewSubnet(ctx, \"subnet01\", \u0026outscale.SubnetArgs{\n\t\t\tSubregionName: pulumi.String(\"eu-west-2a\"),\n\t\t\tIpRange:       pulumi.String(\"10.0.0.0/18\"),\n\t\t\tNetId:         net01.NetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewSecurityGroup(ctx, \"security_group01\", \u0026outscale.SecurityGroupArgs{\n\t\t\tDescription:       pulumi.String(\"Terraform security group for nic with private IPs\"),\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-security-group-nic-ips\"),\n\t\t\tNetId:             net01.NetId,\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.SecurityGroup;\nimport com.pulumi.outscale.SecurityGroupArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder()\n            .subregionName(\"eu-west-2a\")\n            .ipRange(\"10.0.0.0/18\")\n            .netId(net01.netId())\n            .build());\n\n        var securityGroup01 = new SecurityGroup(\"securityGroup01\", SecurityGroupArgs.builder()\n            .description(\"Terraform security group for nic with private IPs\")\n            .securityGroupName(\"terraform-security-group-nic-ips\")\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  subnet01:\n    type: outscale:Subnet\n    properties:\n      subregionName: eu-west-2a\n      ipRange: 10.0.0.0/18\n      netId: ${net01.netId}\n  securityGroup01:\n    type: outscale:SecurityGroup\n    name: security_group01\n    properties:\n      description: Terraform security group for nic with private IPs\n      securityGroupName: terraform-security-group-nic-ips\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a NIC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nic01 = new outscale.Nic(\"nic01\", {\n    subnetId: subnet01.subnetId,\n    securityGroupIds: [securityGroup01.securityGroupId],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnic01 = outscale.Nic(\"nic01\",\n    subnet_id=subnet01[\"subnetId\"],\n    security_group_ids=[security_group01[\"securityGroupId\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nic01 = new Outscale.Nic(\"nic01\", new()\n    {\n        SubnetId = subnet01.SubnetId,\n        SecurityGroupIds = new[]\n        {\n            securityGroup01.SecurityGroupId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNic(ctx, \"nic01\", \u0026outscale.NicArgs{\n\t\t\tSubnetId: pulumi.Any(subnet01.SubnetId),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsecurityGroup01.SecurityGroupId,\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.outscale.Nic;\nimport com.pulumi.outscale.NicArgs;\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        var nic01 = new Nic(\"nic01\", NicArgs.builder()\n            .subnetId(subnet01.subnetId())\n            .securityGroupIds(securityGroup01.securityGroupId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  nic01:\n    type: outscale:Nic\n    properties:\n      subnetId: ${subnet01.subnetId}\n      securityGroupIds:\n        - ${securityGroup01.securityGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a NIC with private IP addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nic02 = new outscale.Nic(\"nic02\", {\n    description: \"Terraform nic with private IPs\",\n    subnetId: subnet01.subnetId,\n    securityGroupIds: [securityGroup01.securityGroupId],\n    privateIps: [\n        {\n            isPrimary: true,\n            privateIp: \"10.0.0.1\",\n        },\n        {\n            isPrimary: false,\n            privateIp: \"10.0.0.2\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnic02 = outscale.Nic(\"nic02\",\n    description=\"Terraform nic with private IPs\",\n    subnet_id=subnet01[\"subnetId\"],\n    security_group_ids=[security_group01[\"securityGroupId\"]],\n    private_ips=[\n        {\n            \"is_primary\": True,\n            \"private_ip\": \"10.0.0.1\",\n        },\n        {\n            \"is_primary\": False,\n            \"private_ip\": \"10.0.0.2\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nic02 = new Outscale.Nic(\"nic02\", new()\n    {\n        Description = \"Terraform nic with private IPs\",\n        SubnetId = subnet01.SubnetId,\n        SecurityGroupIds = new[]\n        {\n            securityGroup01.SecurityGroupId,\n        },\n        PrivateIps = new[]\n        {\n            new Outscale.Inputs.NicPrivateIpArgs\n            {\n                IsPrimary = true,\n                PrivateIp = \"10.0.0.1\",\n            },\n            new Outscale.Inputs.NicPrivateIpArgs\n            {\n                IsPrimary = false,\n                PrivateIp = \"10.0.0.2\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNic(ctx, \"nic02\", \u0026outscale.NicArgs{\n\t\t\tDescription: pulumi.String(\"Terraform nic with private IPs\"),\n\t\t\tSubnetId:    pulumi.Any(subnet01.SubnetId),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsecurityGroup01.SecurityGroupId,\n\t\t\t},\n\t\t\tPrivateIps: outscale.NicPrivateIpTypeArray{\n\t\t\t\t\u0026outscale.NicPrivateIpTypeArgs{\n\t\t\t\t\tIsPrimary: pulumi.Bool(true),\n\t\t\t\t\tPrivateIp: pulumi.String(\"10.0.0.1\"),\n\t\t\t\t},\n\t\t\t\t\u0026outscale.NicPrivateIpTypeArgs{\n\t\t\t\t\tIsPrimary: pulumi.Bool(false),\n\t\t\t\t\tPrivateIp: pulumi.String(\"10.0.0.2\"),\n\t\t\t\t},\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.outscale.Nic;\nimport com.pulumi.outscale.NicArgs;\nimport com.pulumi.outscale.inputs.NicPrivateIpArgs;\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        var nic02 = new Nic(\"nic02\", NicArgs.builder()\n            .description(\"Terraform nic with private IPs\")\n            .subnetId(subnet01.subnetId())\n            .securityGroupIds(securityGroup01.securityGroupId())\n            .privateIps(            \n                NicPrivateIpArgs.builder()\n                    .isPrimary(true)\n                    .privateIp(\"10.0.0.1\")\n                    .build(),\n                NicPrivateIpArgs.builder()\n                    .isPrimary(false)\n                    .privateIp(\"10.0.0.2\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  nic02:\n    type: outscale:Nic\n    properties:\n      description: Terraform nic with private IPs\n      subnetId: ${subnet01.subnetId}\n      securityGroupIds:\n        - ${securityGroup01.securityGroupId}\n      privateIps:\n        - isPrimary: true\n          privateIp: 10.0.0.1\n        - isPrimary: false\n          privateIp: 10.0.0.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA NIC can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/nic:Nic ImportedNic eni-12345678\n```\n\n","properties":{"accountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"description":{"type":"string","description":"A description for the NIC.\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"linkNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicLinkNic:NicLinkNic"},"description":"Information about the NIC attachment.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicLinkPublicIp:NicLinkPublicIp"},"description":"Information about the public IP association.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"outscaleNicId":{"type":"string"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The private IP of the NIC.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicPrivateIp:NicPrivateIp"},"description":"The primary private IP for the NIC.\u003cbr /\u003e\nThis IP must be within the IP range of the Subnet that you specify with the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e attribute.\u003cbr /\u003e\nIf you do not specify this attribute, a random private IP is selected within the IP range of the Subnet.\n"},"requestId":{"type":"string"},"requesterManaged":{"type":"boolean"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the NIC.\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicSecurityGroup:NicSecurityGroup"},"description":"One or more IDs of security groups for the NIC.\n"},"state":{"type":"string","description":"The state of the NIC (\u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the NIC.\n"},"subregionName":{"type":"string","description":"The Subregion in which the NIC is located.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicTag:NicTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNicTimeouts:NicTimeouts"}},"type":"object","required":["accountId","description","isSourceDestChecked","linkNics","linkPublicIps","macAddress","netId","nicId","outscaleNicId","privateDnsName","privateIp","requestId","requesterManaged","securityGroupIds","securityGroups","state","subnetId","subregionName"],"inputProperties":{"description":{"type":"string","description":"A description for the NIC.\n"},"outscaleNicId":{"type":"string"},"privateIp":{"type":"string","description":"The private IP of the NIC.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicPrivateIp:NicPrivateIp"},"description":"The primary private IP for the NIC.\u003cbr /\u003e\nThis IP must be within the IP range of the Subnet that you specify with the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e attribute.\u003cbr /\u003e\nIf you do not specify this attribute, a random private IP is selected within the IP range of the Subnet.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the NIC.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the NIC.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicTag:NicTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNicTimeouts:NicTimeouts"}},"requiredInputs":["subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering Nic resources.\n","properties":{"accountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"description":{"type":"string","description":"A description for the NIC.\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"linkNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicLinkNic:NicLinkNic"},"description":"Information about the NIC attachment.\n"},"linkPublicIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicLinkPublicIp:NicLinkPublicIp"},"description":"Information about the public IP association.\n"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"outscaleNicId":{"type":"string"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The private IP of the NIC.\n"},"privateIps":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicPrivateIp:NicPrivateIp"},"description":"The primary private IP for the NIC.\u003cbr /\u003e\nThis IP must be within the IP range of the Subnet that you specify with the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e attribute.\u003cbr /\u003e\nIf you do not specify this attribute, a random private IP is selected within the IP range of the Subnet.\n"},"requestId":{"type":"string"},"requesterManaged":{"type":"boolean"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the NIC.\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicSecurityGroup:NicSecurityGroup"},"description":"One or more IDs of security groups for the NIC.\n"},"state":{"type":"string","description":"The state of the NIC (\u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the NIC.\n"},"subregionName":{"type":"string","description":"The Subregion in which the NIC is located.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FNicTag:NicTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNicTimeouts:NicTimeouts"}},"type":"object"}},"outscale:index/nicLink:NicLink":{"description":"Manages a NIC link.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-NICs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n    subregionName: `${region}a`,\n    ipRange: \"10.0.0.0/16\",\n    netId: net01.netId,\n});\nconst vm01 = new outscale.Vm(\"vm01\", {\n    imageId: imageId,\n    vmType: vmType,\n    keypairName: keypairName,\n    subnetId: subnet01.subnetId,\n});\nconst nic01 = new outscale.Nic(\"nic01\", {subnetId: subnet01.subnetId});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nsubnet01 = outscale.Subnet(\"subnet01\",\n    subregion_name=f\"{region}a\",\n    ip_range=\"10.0.0.0/16\",\n    net_id=net01.net_id)\nvm01 = outscale.Vm(\"vm01\",\n    image_id=image_id,\n    vm_type=vm_type,\n    keypair_name=keypair_name,\n    subnet_id=subnet01.subnet_id)\nnic01 = outscale.Nic(\"nic01\", subnet_id=subnet01.subnet_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n    {\n        SubregionName = $\"{region}a\",\n        IpRange = \"10.0.0.0/16\",\n        NetId = net01.NetId,\n    });\n\n    var vm01 = new Outscale.Vm(\"vm01\", new()\n    {\n        ImageId = imageId,\n        VmType = vmType,\n        KeypairName = keypairName,\n        SubnetId = subnet01.SubnetId,\n    });\n\n    var nic01 = new Outscale.Nic(\"nic01\", new()\n    {\n        SubnetId = subnet01.SubnetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet01, err := outscale.NewSubnet(ctx, \"subnet01\", \u0026outscale.SubnetArgs{\n\t\t\tSubregionName: pulumi.Sprintf(\"%va\", region),\n\t\t\tIpRange:       pulumi.String(\"10.0.0.0/16\"),\n\t\t\tNetId:         net01.NetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewVm(ctx, \"vm01\", \u0026outscale.VmArgs{\n\t\t\tImageId:     pulumi.Any(imageId),\n\t\t\tVmType:      pulumi.Any(vmType),\n\t\t\tKeypairName: pulumi.Any(keypairName),\n\t\t\tSubnetId:    subnet01.SubnetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewNic(ctx, \"nic01\", \u0026outscale.NicArgs{\n\t\t\tSubnetId: subnet01.SubnetId,\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.Vm;\nimport com.pulumi.outscale.VmArgs;\nimport com.pulumi.outscale.Nic;\nimport com.pulumi.outscale.NicArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder()\n            .subregionName(String.format(\"%sa\", region))\n            .ipRange(\"10.0.0.0/16\")\n            .netId(net01.netId())\n            .build());\n\n        var vm01 = new Vm(\"vm01\", VmArgs.builder()\n            .imageId(imageId)\n            .vmType(vmType)\n            .keypairName(keypairName)\n            .subnetId(subnet01.subnetId())\n            .build());\n\n        var nic01 = new Nic(\"nic01\", NicArgs.builder()\n            .subnetId(subnet01.subnetId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  subnet01:\n    type: outscale:Subnet\n    properties:\n      subregionName: ${region}a\n      ipRange: 10.0.0.0/16\n      netId: ${net01.netId}\n  vm01:\n    type: outscale:Vm\n    properties:\n      imageId: ${imageId}\n      vmType: ${vmType}\n      keypairName: ${keypairName}\n      subnetId: ${subnet01.subnetId}\n  nic01:\n    type: outscale:Nic\n    properties:\n      subnetId: ${subnet01.subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Link a NIC to a VM\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nicLink01 = new outscale.NicLink(\"nic_link01\", {\n    deviceNumber: 1,\n    vmId: vm01.vmId,\n    nicId: nic01.nicId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnic_link01 = outscale.NicLink(\"nic_link01\",\n    device_number=1,\n    vm_id=vm01[\"vmId\"],\n    nic_id=nic01[\"nicId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nicLink01 = new Outscale.NicLink(\"nic_link01\", new()\n    {\n        DeviceNumber = 1,\n        VmId = vm01.VmId,\n        NicId = nic01.NicId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNicLink(ctx, \"nic_link01\", \u0026outscale.NicLinkArgs{\n\t\t\tDeviceNumber: pulumi.Float64(1),\n\t\t\tVmId:         pulumi.Any(vm01.VmId),\n\t\t\tNicId:        pulumi.Any(nic01.NicId),\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.outscale.NicLink;\nimport com.pulumi.outscale.NicLinkArgs;\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        var nicLink01 = new NicLink(\"nicLink01\", NicLinkArgs.builder()\n            .deviceNumber(1.0)\n            .vmId(vm01.vmId())\n            .nicId(nic01.nicId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  nicLink01:\n    type: outscale:NicLink\n    name: nic_link01\n    properties:\n      deviceNumber: '1'\n      vmId: ${vm01.vmId}\n      nicId: ${nic01.nicId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA NIC link can be imported using the NIC ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/nicLink:NicLink ImportedNicLink eni-12345678\n```\n\n","properties":{"deleteOnVmDeletion":{"type":"boolean"},"deviceNumber":{"type":"number","description":"The index of the VM device for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC attachment.\n"},"nicId":{"type":"string","description":"The ID of the NIC you want to attach.\n"},"nicLinkId":{"type":"string"},"requestId":{"type":"string"},"state":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FNicLinkTimeouts:NicLinkTimeouts"},"vmAccountId":{"type":"string"},"vmId":{"type":"string","description":"The ID of the VM to which you want to attach the NIC.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceNumber","linkNicId","nicId","nicLinkId","requestId","state","vmAccountId","vmId"],"inputProperties":{"deviceNumber":{"type":"number","description":"The index of the VM device for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"nicId":{"type":"string","description":"The ID of the NIC you want to attach.\n"},"nicLinkId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FNicLinkTimeouts:NicLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM to which you want to attach the NIC.\n"}},"requiredInputs":["deviceNumber","nicId","vmId"],"stateInputs":{"description":"Input properties used for looking up and filtering NicLink resources.\n","properties":{"deleteOnVmDeletion":{"type":"boolean"},"deviceNumber":{"type":"number","description":"The index of the VM device for the NIC attachment (between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e, both included).\n"},"linkNicId":{"type":"string","description":"The ID of the NIC attachment.\n"},"nicId":{"type":"string","description":"The ID of the NIC you want to attach.\n"},"nicLinkId":{"type":"string"},"requestId":{"type":"string"},"state":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FNicLinkTimeouts:NicLinkTimeouts"},"vmAccountId":{"type":"string"},"vmId":{"type":"string","description":"The ID of the VM to which you want to attach the NIC.\n"}},"type":"object"}},"outscale:index/nicPrivateIp:NicPrivateIp":{"description":"Manages a NIC's private IPs.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-NICs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n    subregionName: `${region}a`,\n    ipRange: \"10.0.0.0/16\",\n    netId: net01.netId,\n});\nconst nic01 = new outscale.Nic(\"nic01\", {subnetId: subnet01.subnetId});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nsubnet01 = outscale.Subnet(\"subnet01\",\n    subregion_name=f\"{region}a\",\n    ip_range=\"10.0.0.0/16\",\n    net_id=net01.net_id)\nnic01 = outscale.Nic(\"nic01\", subnet_id=subnet01.subnet_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n    {\n        SubregionName = $\"{region}a\",\n        IpRange = \"10.0.0.0/16\",\n        NetId = net01.NetId,\n    });\n\n    var nic01 = new Outscale.Nic(\"nic01\", new()\n    {\n        SubnetId = subnet01.SubnetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet01, err := outscale.NewSubnet(ctx, \"subnet01\", \u0026outscale.SubnetArgs{\n\t\t\tSubregionName: pulumi.Sprintf(\"%va\", region),\n\t\t\tIpRange:       pulumi.String(\"10.0.0.0/16\"),\n\t\t\tNetId:         net01.NetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewNic(ctx, \"nic01\", \u0026outscale.NicArgs{\n\t\t\tSubnetId: subnet01.SubnetId,\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.Nic;\nimport com.pulumi.outscale.NicArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder()\n            .subregionName(String.format(\"%sa\", region))\n            .ipRange(\"10.0.0.0/16\")\n            .netId(net01.netId())\n            .build());\n\n        var nic01 = new Nic(\"nic01\", NicArgs.builder()\n            .subnetId(subnet01.subnetId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  subnet01:\n    type: outscale:Subnet\n    properties:\n      subregionName: ${region}a\n      ipRange: 10.0.0.0/16\n      netId: ${net01.netId}\n  nic01:\n    type: outscale:Nic\n    properties:\n      subnetId: ${subnet01.subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Link a specific secondary private IP address to a NIC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nicPrivateIp01 = new outscale.NicPrivateIp(\"nic_private_ip01\", {\n    nicId: nic01.nicId,\n    privateIps: [\n        \"10.0.12.34\",\n        \"10.0.12.35\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnic_private_ip01 = outscale.NicPrivateIp(\"nic_private_ip01\",\n    nic_id=nic01[\"nicId\"],\n    private_ips=[\n        \"10.0.12.34\",\n        \"10.0.12.35\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nicPrivateIp01 = new Outscale.NicPrivateIp(\"nic_private_ip01\", new()\n    {\n        NicId = nic01.NicId,\n        PrivateIps = new[]\n        {\n            \"10.0.12.34\",\n            \"10.0.12.35\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNicPrivateIp(ctx, \"nic_private_ip01\", \u0026outscale.NicPrivateIpArgs{\n\t\t\tNicId: pulumi.Any(nic01.NicId),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.12.34\"),\n\t\t\t\tpulumi.String(\"10.0.12.35\"),\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.outscale.NicPrivateIp;\nimport com.pulumi.outscale.NicPrivateIpArgs;\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        var nicPrivateIp01 = new NicPrivateIp(\"nicPrivateIp01\", NicPrivateIpArgs.builder()\n            .nicId(nic01.nicId())\n            .privateIps(            \n                \"10.0.12.34\",\n                \"10.0.12.35\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  nicPrivateIp01:\n    type: outscale:NicPrivateIp\n    name: nic_private_ip01\n    properties:\n      nicId: ${nic01.nicId}\n      privateIps:\n        - 10.0.12.34\n        - 10.0.12.35\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Link several automatic secondary private IP addresses to a NIC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nicPrivateIp02 = new outscale.NicPrivateIp(\"nic_private_ip02\", {\n    nicId: nic01.nicId,\n    secondaryPrivateIpCount: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnic_private_ip02 = outscale.NicPrivateIp(\"nic_private_ip02\",\n    nic_id=nic01[\"nicId\"],\n    secondary_private_ip_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nicPrivateIp02 = new Outscale.NicPrivateIp(\"nic_private_ip02\", new()\n    {\n        NicId = nic01.NicId,\n        SecondaryPrivateIpCount = 2,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNicPrivateIp(ctx, \"nic_private_ip02\", \u0026outscale.NicPrivateIpArgs{\n\t\t\tNicId:                   pulumi.Any(nic01.NicId),\n\t\t\tSecondaryPrivateIpCount: pulumi.Float64(2),\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.outscale.NicPrivateIp;\nimport com.pulumi.outscale.NicPrivateIpArgs;\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        var nicPrivateIp02 = new NicPrivateIp(\"nicPrivateIp02\", NicPrivateIpArgs.builder()\n            .nicId(nic01.nicId())\n            .secondaryPrivateIpCount(2.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  nicPrivateIp02:\n    type: outscale:NicPrivateIp\n    name: nic_private_ip02\n    properties:\n      nicId: ${nic01.nicId}\n      secondaryPrivateIpCount: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"allowRelink":{"type":"boolean","description":"If true, allows an IP that is already assigned to another NIC in the same Subnet to be assigned to the NIC you specified.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"nicPrivateIpId":{"type":"string"},"primaryPrivateIp":{"type":"string"},"privateIps":{"type":"array","items":{"type":"string"},"description":"The secondary private IP or IPs you want to assign to the NIC within the IP range of the Subnet.\n"},"requestId":{"type":"string"},"secondaryPrivateIpCount":{"type":"number","description":"The number of secondary private IPs to assign to the NIC.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNicPrivateIpTimeouts:NicPrivateIpTimeouts"}},"type":"object","required":["nicId","nicPrivateIpId","primaryPrivateIp","requestId","secondaryPrivateIpCount"],"inputProperties":{"allowRelink":{"type":"boolean","description":"If true, allows an IP that is already assigned to another NIC in the same Subnet to be assigned to the NIC you specified.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"nicPrivateIpId":{"type":"string"},"privateIps":{"type":"array","items":{"type":"string"},"description":"The secondary private IP or IPs you want to assign to the NIC within the IP range of the Subnet.\n"},"secondaryPrivateIpCount":{"type":"number","description":"The number of secondary private IPs to assign to the NIC.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNicPrivateIpTimeouts:NicPrivateIpTimeouts"}},"requiredInputs":["nicId"],"stateInputs":{"description":"Input properties used for looking up and filtering NicPrivateIp resources.\n","properties":{"allowRelink":{"type":"boolean","description":"If true, allows an IP that is already assigned to another NIC in the same Subnet to be assigned to the NIC you specified.\n"},"nicId":{"type":"string","description":"The ID of the NIC.\n"},"nicPrivateIpId":{"type":"string"},"primaryPrivateIp":{"type":"string"},"privateIps":{"type":"array","items":{"type":"string"},"description":"The secondary private IP or IPs you want to assign to the NIC within the IP range of the Subnet.\n"},"requestId":{"type":"string"},"secondaryPrivateIpCount":{"type":"number","description":"The number of secondary private IPs to assign to the NIC.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FNicPrivateIpTimeouts:NicPrivateIpTimeouts"}},"type":"object"}},"outscale:index/oksCluster:OksCluster":{"description":"Manages a cluster.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-OKS.html#_clusters).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/oks.html#oks-api-clusters).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst project01 = new outscale.OksProject(\"project01\", {\n    name: \"project01\",\n    cidr: \"10.50.0.0/18\",\n    region: \"eu-west-2\",\n});\nconst cluster01 = new outscale.OksCluster(\"cluster01\", {\n    projectId: project01.id,\n    adminWhitelists: [\"0.0.0.0/0\"],\n    cidrPods: \"10.91.0.0/16\",\n    cidrService: \"10.92.0.0/16\",\n    version: \"1.32\",\n    name: \"cluster01\",\n    controlPlanes: \"cp.mono.master\",\n    tags: {\n        tagkey: \"tagvalue\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nproject01 = outscale.OksProject(\"project01\",\n    name=\"project01\",\n    cidr=\"10.50.0.0/18\",\n    region=\"eu-west-2\")\ncluster01 = outscale.OksCluster(\"cluster01\",\n    project_id=project01.id,\n    admin_whitelists=[\"0.0.0.0/0\"],\n    cidr_pods=\"10.91.0.0/16\",\n    cidr_service=\"10.92.0.0/16\",\n    version=\"1.32\",\n    name=\"cluster01\",\n    control_planes=\"cp.mono.master\",\n    tags={\n        \"tagkey\": \"tagvalue\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var project01 = new Outscale.OksProject(\"project01\", new()\n    {\n        Name = \"project01\",\n        Cidr = \"10.50.0.0/18\",\n        Region = \"eu-west-2\",\n    });\n\n    var cluster01 = new Outscale.OksCluster(\"cluster01\", new()\n    {\n        ProjectId = project01.Id,\n        AdminWhitelists = new[]\n        {\n            \"0.0.0.0/0\",\n        },\n        CidrPods = \"10.91.0.0/16\",\n        CidrService = \"10.92.0.0/16\",\n        Version = \"1.32\",\n        Name = \"cluster01\",\n        ControlPlanes = \"cp.mono.master\",\n        Tags = \n        {\n            { \"tagkey\", \"tagvalue\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tproject01, err := outscale.NewOksProject(ctx, \"project01\", \u0026outscale.OksProjectArgs{\n\t\t\tName:   pulumi.String(\"project01\"),\n\t\t\tCidr:   pulumi.String(\"10.50.0.0/18\"),\n\t\t\tRegion: pulumi.String(\"eu-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewOksCluster(ctx, \"cluster01\", \u0026outscale.OksClusterArgs{\n\t\t\tProjectId: project01.ID(),\n\t\t\tAdminWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t},\n\t\t\tCidrPods:      pulumi.String(\"10.91.0.0/16\"),\n\t\t\tCidrService:   pulumi.String(\"10.92.0.0/16\"),\n\t\t\tVersion:       pulumi.String(\"1.32\"),\n\t\t\tName:          pulumi.String(\"cluster01\"),\n\t\t\tControlPlanes: pulumi.String(\"cp.mono.master\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tagkey\": pulumi.String(\"tagvalue\"),\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.outscale.OksProject;\nimport com.pulumi.outscale.OksProjectArgs;\nimport com.pulumi.outscale.OksCluster;\nimport com.pulumi.outscale.OksClusterArgs;\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        var project01 = new OksProject(\"project01\", OksProjectArgs.builder()\n            .name(\"project01\")\n            .cidr(\"10.50.0.0/18\")\n            .region(\"eu-west-2\")\n            .build());\n\n        var cluster01 = new OksCluster(\"cluster01\", OksClusterArgs.builder()\n            .projectId(project01.id())\n            .adminWhitelists(\"0.0.0.0/0\")\n            .cidrPods(\"10.91.0.0/16\")\n            .cidrService(\"10.92.0.0/16\")\n            .version(\"1.32\")\n            .name(\"cluster01\")\n            .controlPlanes(\"cp.mono.master\")\n            .tags(Map.of(\"tagkey\", \"tagvalue\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  project01:\n    type: outscale:OksProject\n    properties:\n      name: project01\n      cidr: 10.50.0.0/18\n      region: eu-west-2\n  cluster01:\n    type: outscale:OksCluster\n    properties:\n      projectId: ${project01.id}\n      adminWhitelists:\n        - 0.0.0.0/0\n      cidrPods: 10.91.0.0/16\n      cidrService: 10.92.0.0/16\n      version: '1.32'\n      name: cluster01\n      controlPlanes: cp.mono.master\n      tags:\n        tagkey: tagvalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn OKS cluster can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/oksCluster:OksCluster cluster id\n```\n\n","properties":{"adminLbu":{"type":"boolean","description":"If true, load balancer administration is enabled for cluster management. If false, it is disabled. By default, false.\n"},"adminWhitelists":{"type":"array","items":{"type":"string"},"description":"The list of CIDR blocks or IPs allowed to access the cluster via the Kubernetes API.\n"},"admissionFlags":{"$ref":"#/types/outscale:index%2FOksClusterAdmissionFlags:OksClusterAdmissionFlags","description":"The configuration for Kubernetes admission controllers.\n"},"autoMaintenances":{"$ref":"#/types/outscale:index%2FOksClusterAutoMaintenances:OksClusterAutoMaintenances","description":"The configurations for automated maintenance windows.\n"},"cidrPods":{"type":"string","description":"The CIDR block for Kubernetes pods' network.\n"},"cidrService":{"type":"string","description":"The CIDR block for the Kubernetes services' network.\n"},"clusterDns":{"type":"string","description":"The IP for the cluster's DNS service.\n"},"cni":{"type":"string","description":"The Container Network Interface (CNI) used in the cluster.\n"},"controlPlanes":{"type":"string","description":"The size of control plane deployment for the cluster. For more information, see [About OKS \u003e Control Planes](https://docs.outscale.com/en/userguide/About-OKS.html#_control_planes). By default, `cp.3.masters.small`.\n"},"cpMultiAz":{"type":"boolean","description":"If true, multi-Subregion deployment is enabled for the control plane. If false, it is disabled. By default, false.\n"},"cpSubregions":{"type":"array","items":{"type":"string"},"description":"The list of Subregions where control plane components are deployed.\n"},"description":{"type":"string","description":"A description of the cluster.\n"},"disableApiTermination":{"type":"boolean","description":"If true, cluster deletion through the API is disabled. If false, it is enabled. By default, false.\n"},"kubeconfig":{"type":"string","description":"A file containing access configuration to the cluster.\n","secret":true},"name":{"type":"string","description":"A unique name for the cluster within the project. Between 1 and 40 characters, this name must start with a letter and contain only lowercase letters, numbers, or hyphens.\n"},"projectId":{"type":"string","description":"The ID of the project in which you want to create a cluster.\n"},"quirks":{"type":"array","items":{"type":"string"},"description":"The list of special configurations or behaviors for the cluster.\n"},"requestId":{"type":"string","description":"The ID of the API request.\n"},"statuses":{"$ref":"#/types/outscale:index%2FOksClusterStatuses:OksClusterStatuses","description":"The status information of the cluster.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value combinations of the tags associated with the cluster's metadata.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FOksClusterTimeouts:OksClusterTimeouts"},"version":{"type":"string","description":"The Kubernetes version to be deployed for the cluster. For more information, see [GetKubernetesVersions](https://docs.outscale.com/oks.html#getkubenetesversions).\n"}},"type":"object","required":["adminLbu","adminWhitelists","admissionFlags","autoMaintenances","cidrPods","cidrService","clusterDns","cni","controlPlanes","cpMultiAz","cpSubregions","description","disableApiTermination","kubeconfig","name","projectId","requestId","statuses","tags","version"],"inputProperties":{"adminLbu":{"type":"boolean","description":"If true, load balancer administration is enabled for cluster management. If false, it is disabled. By default, false.\n"},"adminWhitelists":{"type":"array","items":{"type":"string"},"description":"The list of CIDR blocks or IPs allowed to access the cluster via the Kubernetes API.\n"},"admissionFlags":{"$ref":"#/types/outscale:index%2FOksClusterAdmissionFlags:OksClusterAdmissionFlags","description":"The configuration for Kubernetes admission controllers.\n"},"autoMaintenances":{"$ref":"#/types/outscale:index%2FOksClusterAutoMaintenances:OksClusterAutoMaintenances","description":"The configurations for automated maintenance windows.\n"},"cidrPods":{"type":"string","description":"The CIDR block for Kubernetes pods' network.\n"},"cidrService":{"type":"string","description":"The CIDR block for the Kubernetes services' network.\n"},"clusterDns":{"type":"string","description":"The IP for the cluster's DNS service.\n"},"controlPlanes":{"type":"string","description":"The size of control plane deployment for the cluster. For more information, see [About OKS \u003e Control Planes](https://docs.outscale.com/en/userguide/About-OKS.html#_control_planes). By default, `cp.3.masters.small`.\n"},"cpMultiAz":{"type":"boolean","description":"If true, multi-Subregion deployment is enabled for the control plane. If false, it is disabled. By default, false.\n"},"cpSubregions":{"type":"array","items":{"type":"string"},"description":"The list of Subregions where control plane components are deployed.\n"},"description":{"type":"string","description":"A description of the cluster.\n"},"disableApiTermination":{"type":"boolean","description":"If true, cluster deletion through the API is disabled. If false, it is enabled. By default, false.\n"},"name":{"type":"string","description":"A unique name for the cluster within the project. Between 1 and 40 characters, this name must start with a letter and contain only lowercase letters, numbers, or hyphens.\n"},"projectId":{"type":"string","description":"The ID of the project in which you want to create a cluster.\n"},"quirks":{"type":"array","items":{"type":"string"},"description":"The list of special configurations or behaviors for the cluster.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value combinations of the tags associated with the cluster's metadata.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FOksClusterTimeouts:OksClusterTimeouts"},"version":{"type":"string","description":"The Kubernetes version to be deployed for the cluster. For more information, see [GetKubernetesVersions](https://docs.outscale.com/oks.html#getkubenetesversions).\n"}},"requiredInputs":["adminWhitelists","cidrPods","cidrService","projectId","version"],"stateInputs":{"description":"Input properties used for looking up and filtering OksCluster resources.\n","properties":{"adminLbu":{"type":"boolean","description":"If true, load balancer administration is enabled for cluster management. If false, it is disabled. By default, false.\n"},"adminWhitelists":{"type":"array","items":{"type":"string"},"description":"The list of CIDR blocks or IPs allowed to access the cluster via the Kubernetes API.\n"},"admissionFlags":{"$ref":"#/types/outscale:index%2FOksClusterAdmissionFlags:OksClusterAdmissionFlags","description":"The configuration for Kubernetes admission controllers.\n"},"autoMaintenances":{"$ref":"#/types/outscale:index%2FOksClusterAutoMaintenances:OksClusterAutoMaintenances","description":"The configurations for automated maintenance windows.\n"},"cidrPods":{"type":"string","description":"The CIDR block for Kubernetes pods' network.\n"},"cidrService":{"type":"string","description":"The CIDR block for the Kubernetes services' network.\n"},"clusterDns":{"type":"string","description":"The IP for the cluster's DNS service.\n"},"cni":{"type":"string","description":"The Container Network Interface (CNI) used in the cluster.\n"},"controlPlanes":{"type":"string","description":"The size of control plane deployment for the cluster. For more information, see [About OKS \u003e Control Planes](https://docs.outscale.com/en/userguide/About-OKS.html#_control_planes). By default, `cp.3.masters.small`.\n"},"cpMultiAz":{"type":"boolean","description":"If true, multi-Subregion deployment is enabled for the control plane. If false, it is disabled. By default, false.\n"},"cpSubregions":{"type":"array","items":{"type":"string"},"description":"The list of Subregions where control plane components are deployed.\n"},"description":{"type":"string","description":"A description of the cluster.\n"},"disableApiTermination":{"type":"boolean","description":"If true, cluster deletion through the API is disabled. If false, it is enabled. By default, false.\n"},"kubeconfig":{"type":"string","description":"A file containing access configuration to the cluster.\n","secret":true},"name":{"type":"string","description":"A unique name for the cluster within the project. Between 1 and 40 characters, this name must start with a letter and contain only lowercase letters, numbers, or hyphens.\n"},"projectId":{"type":"string","description":"The ID of the project in which you want to create a cluster.\n"},"quirks":{"type":"array","items":{"type":"string"},"description":"The list of special configurations or behaviors for the cluster.\n"},"requestId":{"type":"string","description":"The ID of the API request.\n"},"statuses":{"$ref":"#/types/outscale:index%2FOksClusterStatuses:OksClusterStatuses","description":"The status information of the cluster.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value combinations of the tags associated with the cluster's metadata.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FOksClusterTimeouts:OksClusterTimeouts"},"version":{"type":"string","description":"The Kubernetes version to be deployed for the cluster. For more information, see [GetKubernetesVersions](https://docs.outscale.com/oks.html#getkubenetesversions).\n"}},"type":"object"}},"outscale:index/oksProject:OksProject":{"description":"Manages a project.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-OKS.html#_projects).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/oks.html#oks-api-projects).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst project01 = new outscale.OksProject(\"project01\", {\n    name: \"project01\",\n    cidr: \"10.50.0.0/18\",\n    region: \"eu-west-2\",\n    tags: {\n        tagkey: \"tagvalue\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nproject01 = outscale.OksProject(\"project01\",\n    name=\"project01\",\n    cidr=\"10.50.0.0/18\",\n    region=\"eu-west-2\",\n    tags={\n        \"tagkey\": \"tagvalue\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var project01 = new Outscale.OksProject(\"project01\", new()\n    {\n        Name = \"project01\",\n        Cidr = \"10.50.0.0/18\",\n        Region = \"eu-west-2\",\n        Tags = \n        {\n            { \"tagkey\", \"tagvalue\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewOksProject(ctx, \"project01\", \u0026outscale.OksProjectArgs{\n\t\t\tName:   pulumi.String(\"project01\"),\n\t\t\tCidr:   pulumi.String(\"10.50.0.0/18\"),\n\t\t\tRegion: pulumi.String(\"eu-west-2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tagkey\": pulumi.String(\"tagvalue\"),\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.outscale.OksProject;\nimport com.pulumi.outscale.OksProjectArgs;\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        var project01 = new OksProject(\"project01\", OksProjectArgs.builder()\n            .name(\"project01\")\n            .cidr(\"10.50.0.0/18\")\n            .region(\"eu-west-2\")\n            .tags(Map.of(\"tagkey\", \"tagvalue\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  project01:\n    type: outscale:OksProject\n    properties:\n      name: project01\n      cidr: 10.50.0.0/18\n      region: eu-west-2\n      tags:\n        tagkey: tagvalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn OKS project can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/oksProject:OksProject project id\n```\n\n","properties":{"cidr":{"type":"string","description":"The CIDR block to associate with the Net of the project.\n"},"createdAt":{"type":"string","description":"The timestamp when the project was created (date-time).\n"},"description":{"type":"string","description":"A description for the project.\n"},"disableApiTermination":{"type":"boolean","description":"If true, project deletion through the API is disabled. If false, it is enabled. By default, false.\n"},"name":{"type":"string","description":"A unique name for the project, between 1 and 40 characters. This name must start with a letter and contain only lowercase letters, numbers, or hyphens.\n"},"quirks":{"type":"array","items":{"type":"string"},"description":"A list of special configurations or behaviors for the project.\n"},"region":{"type":"string","description":"The Region on which the project is deployed.\n"},"requestId":{"type":"string"},"status":{"type":"string","description":"The status of the project.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value combinations of the tags associated with the resource.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FOksProjectTimeouts:OksProjectTimeouts"},"updatedAt":{"type":"string","description":"The timestamp when the project was last updated (date-time).\n"}},"type":"object","required":["cidr","createdAt","description","disableApiTermination","name","region","requestId","status","tags","updatedAt"],"inputProperties":{"cidr":{"type":"string","description":"The CIDR block to associate with the Net of the project.\n"},"description":{"type":"string","description":"A description for the project.\n"},"disableApiTermination":{"type":"boolean","description":"If true, project deletion through the API is disabled. If false, it is enabled. By default, false.\n"},"name":{"type":"string","description":"A unique name for the project, between 1 and 40 characters. This name must start with a letter and contain only lowercase letters, numbers, or hyphens.\n"},"quirks":{"type":"array","items":{"type":"string"},"description":"A list of special configurations or behaviors for the project.\n"},"region":{"type":"string","description":"The Region on which the project is deployed.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value combinations of the tags associated with the resource.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FOksProjectTimeouts:OksProjectTimeouts"}},"requiredInputs":["cidr","region"],"stateInputs":{"description":"Input properties used for looking up and filtering OksProject resources.\n","properties":{"cidr":{"type":"string","description":"The CIDR block to associate with the Net of the project.\n"},"createdAt":{"type":"string","description":"The timestamp when the project was created (date-time).\n"},"description":{"type":"string","description":"A description for the project.\n"},"disableApiTermination":{"type":"boolean","description":"If true, project deletion through the API is disabled. If false, it is enabled. By default, false.\n"},"name":{"type":"string","description":"A unique name for the project, between 1 and 40 characters. This name must start with a letter and contain only lowercase letters, numbers, or hyphens.\n"},"quirks":{"type":"array","items":{"type":"string"},"description":"A list of special configurations or behaviors for the project.\n"},"region":{"type":"string","description":"The Region on which the project is deployed.\n"},"requestId":{"type":"string"},"status":{"type":"string","description":"The status of the project.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"The key/value combinations of the tags associated with the resource.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FOksProjectTimeouts:OksProjectTimeouts"},"updatedAt":{"type":"string","description":"The timestamp when the project was last updated (date-time).\n"}},"type":"object"}},"outscale:index/policy:Policy":{"description":"Manages a policy.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Policies.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#3ds-outscale-api-policy).\n\n## Import\n\nA policy can be imported using its ORN. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/policy:Policy policy1 orn\n```\n\n","properties":{"creationDate":{"type":"string","description":"The date and time (UTC) at which the policy was created.\n"},"description":{"type":"string","description":"A description for the policy.\n"},"document":{"type":"string","description":"The policy document, corresponding to a JSON string that contains the policy. This policy document can contain a maximum of 5120 non-whitespace characters. For more information, see [EIM Reference Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html) and [EIM Policy Generator](https://docs.outscale.com/en/userguide/EIM-Policy-Generator.html).\n"},"isLinkable":{"type":"boolean","description":"Indicates whether the policy can be linked to a group or an EIM user.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) at which the policy was last modified.\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"path":{"type":"string","description":"The path of the policy.\n"},"policyDefaultVersionId":{"type":"string","description":"The ID of the policy default version.\n"},"policyId":{"type":"string","description":"The ID of the policy.\n"},"policyName":{"type":"string","description":"The name of the policy.\n"},"resourcesCount":{"type":"number","description":"The number of resources attached to the policy.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FPolicyTimeouts:PolicyTimeouts"}},"type":"object","required":["creationDate","document","isLinkable","lastModificationDate","orn","path","policyDefaultVersionId","policyId","policyName","resourcesCount"],"inputProperties":{"description":{"type":"string","description":"A description for the policy.\n"},"document":{"type":"string","description":"The policy document, corresponding to a JSON string that contains the policy. This policy document can contain a maximum of 5120 non-whitespace characters. For more information, see [EIM Reference Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html) and [EIM Policy Generator](https://docs.outscale.com/en/userguide/EIM-Policy-Generator.html).\n"},"path":{"type":"string","description":"The path of the policy.\n"},"policyName":{"type":"string","description":"The name of the policy.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FPolicyTimeouts:PolicyTimeouts"}},"requiredInputs":["document","policyName"],"stateInputs":{"description":"Input properties used for looking up and filtering Policy resources.\n","properties":{"creationDate":{"type":"string","description":"The date and time (UTC) at which the policy was created.\n"},"description":{"type":"string","description":"A description for the policy.\n"},"document":{"type":"string","description":"The policy document, corresponding to a JSON string that contains the policy. This policy document can contain a maximum of 5120 non-whitespace characters. For more information, see [EIM Reference Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html) and [EIM Policy Generator](https://docs.outscale.com/en/userguide/EIM-Policy-Generator.html).\n"},"isLinkable":{"type":"boolean","description":"Indicates whether the policy can be linked to a group or an EIM user.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) at which the policy was last modified.\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"path":{"type":"string","description":"The path of the policy.\n"},"policyDefaultVersionId":{"type":"string","description":"The ID of the policy default version.\n"},"policyId":{"type":"string","description":"The ID of the policy.\n"},"policyName":{"type":"string","description":"The name of the policy.\n"},"resourcesCount":{"type":"number","description":"The number of resources attached to the policy.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FPolicyTimeouts:PolicyTimeouts"}},"type":"object"}},"outscale:index/policyVersion:PolicyVersion":{"description":"Manages a policy version.\n\n\u003e **Note** At creation, the initial version of a policy is set to 'V1' by default.\n\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/Editing-Managed-Policies-Using-Policy-Versions.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#createpolicyversion).\n\n","properties":{"body":{"type":"string","description":"The policy document, corresponding to a JSON string that contains the policy. For more information, see [EIM Reference Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html) and [EIM Policy Generator](https://docs.outscale.com/en/userguide/EIM-Policy-Generator.html).\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the version was created.\n"},"defaultVersion":{"type":"boolean","description":"If true, the version is the default one.\n"},"document":{"type":"string","description":"The policy document, corresponding to a JSON string that contains the policy. This policy document can contain a maximum of 5120 non-whitespace characters. For more information, see [EIM Reference Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html) and [EIM Policy Generator](https://docs.outscale.com/en/userguide/EIM-Policy-Generator.html).\n"},"policyOrn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"setAsDefault":{"type":"boolean","description":"If set to true, the new policy version is set as the default version, meaning it becomes the active one. Otherwise, the new policy version is not actually active until the \u003cspan pulumi-lang-nodejs=\"`defaultVersionId`\" pulumi-lang-dotnet=\"`DefaultVersionId`\" pulumi-lang-go=\"`defaultVersionId`\" pulumi-lang-python=\"`default_version_id`\" pulumi-lang-yaml=\"`defaultVersionId`\" pulumi-lang-java=\"`defaultVersionId`\"\u003e`default_version_id`\u003c/span\u003e is specified in the \u003cspan pulumi-lang-nodejs=\"`outscale.User`\" pulumi-lang-dotnet=\"`outscale.User`\" pulumi-lang-go=\"`User`\" pulumi-lang-python=\"`User`\" pulumi-lang-yaml=\"`outscale.User`\" pulumi-lang-java=\"`outscale.User`\"\u003e`outscale.User`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outscale.UserGroup`\" pulumi-lang-dotnet=\"`outscale.UserGroup`\" pulumi-lang-go=\"`UserGroup`\" pulumi-lang-python=\"`UserGroup`\" pulumi-lang-yaml=\"`outscale.UserGroup`\" pulumi-lang-java=\"`outscale.UserGroup`\"\u003e`outscale.UserGroup`\u003c/span\u003e resources.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FPolicyVersionTimeouts:PolicyVersionTimeouts"},"versionId":{"type":"string","description":"The ID of the version.\n"}},"type":"object","required":["body","creationDate","defaultVersion","document","policyOrn","versionId"],"inputProperties":{"document":{"type":"string","description":"The policy document, corresponding to a JSON string that contains the policy. This policy document can contain a maximum of 5120 non-whitespace characters. For more information, see [EIM Reference Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html) and [EIM Policy Generator](https://docs.outscale.com/en/userguide/EIM-Policy-Generator.html).\n"},"policyOrn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"setAsDefault":{"type":"boolean","description":"If set to true, the new policy version is set as the default version, meaning it becomes the active one. Otherwise, the new policy version is not actually active until the \u003cspan pulumi-lang-nodejs=\"`defaultVersionId`\" pulumi-lang-dotnet=\"`DefaultVersionId`\" pulumi-lang-go=\"`defaultVersionId`\" pulumi-lang-python=\"`default_version_id`\" pulumi-lang-yaml=\"`defaultVersionId`\" pulumi-lang-java=\"`defaultVersionId`\"\u003e`default_version_id`\u003c/span\u003e is specified in the \u003cspan pulumi-lang-nodejs=\"`outscale.User`\" pulumi-lang-dotnet=\"`outscale.User`\" pulumi-lang-go=\"`User`\" pulumi-lang-python=\"`User`\" pulumi-lang-yaml=\"`outscale.User`\" pulumi-lang-java=\"`outscale.User`\"\u003e`outscale.User`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outscale.UserGroup`\" pulumi-lang-dotnet=\"`outscale.UserGroup`\" pulumi-lang-go=\"`UserGroup`\" pulumi-lang-python=\"`UserGroup`\" pulumi-lang-yaml=\"`outscale.UserGroup`\" pulumi-lang-java=\"`outscale.UserGroup`\"\u003e`outscale.UserGroup`\u003c/span\u003e resources.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FPolicyVersionTimeouts:PolicyVersionTimeouts"}},"requiredInputs":["document","policyOrn"],"stateInputs":{"description":"Input properties used for looking up and filtering PolicyVersion resources.\n","properties":{"body":{"type":"string","description":"The policy document, corresponding to a JSON string that contains the policy. For more information, see [EIM Reference Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html) and [EIM Policy Generator](https://docs.outscale.com/en/userguide/EIM-Policy-Generator.html).\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the version was created.\n"},"defaultVersion":{"type":"boolean","description":"If true, the version is the default one.\n"},"document":{"type":"string","description":"The policy document, corresponding to a JSON string that contains the policy. This policy document can contain a maximum of 5120 non-whitespace characters. For more information, see [EIM Reference Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html) and [EIM Policy Generator](https://docs.outscale.com/en/userguide/EIM-Policy-Generator.html).\n"},"policyOrn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"setAsDefault":{"type":"boolean","description":"If set to true, the new policy version is set as the default version, meaning it becomes the active one. Otherwise, the new policy version is not actually active until the \u003cspan pulumi-lang-nodejs=\"`defaultVersionId`\" pulumi-lang-dotnet=\"`DefaultVersionId`\" pulumi-lang-go=\"`defaultVersionId`\" pulumi-lang-python=\"`default_version_id`\" pulumi-lang-yaml=\"`defaultVersionId`\" pulumi-lang-java=\"`defaultVersionId`\"\u003e`default_version_id`\u003c/span\u003e is specified in the \u003cspan pulumi-lang-nodejs=\"`outscale.User`\" pulumi-lang-dotnet=\"`outscale.User`\" pulumi-lang-go=\"`User`\" pulumi-lang-python=\"`User`\" pulumi-lang-yaml=\"`outscale.User`\" pulumi-lang-java=\"`outscale.User`\"\u003e`outscale.User`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`outscale.UserGroup`\" pulumi-lang-dotnet=\"`outscale.UserGroup`\" pulumi-lang-go=\"`UserGroup`\" pulumi-lang-python=\"`UserGroup`\" pulumi-lang-yaml=\"`outscale.UserGroup`\" pulumi-lang-java=\"`outscale.UserGroup`\"\u003e`outscale.UserGroup`\u003c/span\u003e resources.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FPolicyVersionTimeouts:PolicyVersionTimeouts"},"versionId":{"type":"string","description":"The ID of the version.\n"}},"type":"object"}},"outscale:index/publicIp:PublicIp":{"description":"Manages a public IP.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Public-IPs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-publicip).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst publicIp01 = new outscale.PublicIp(\"public_ip01\", {});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\npublic_ip01 = outscale.PublicIp(\"public_ip01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var publicIp01 = new Outscale.PublicIp(\"public_ip01\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewPublicIp(ctx, \"public_ip01\", nil)\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.outscale.PublicIp;\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        var publicIp01 = new PublicIp(\"publicIp01\");\n\n    }\n}\n```\n```yaml\nresources:\n  publicIp01:\n    type: outscale:PublicIp\n    name: public_ip01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA public IP can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/publicIp:PublicIp ImportedPublicIp eipalloc-12345678\n```\n\n","properties":{"linkPublicIpId":{"type":"string","description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n"},"nicAccountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC the public IP is associated with (if any).\n"},"outscalePublicIpId":{"type":"string"},"privateIp":{"type":"string","description":"The private IP associated with the public IP.\n"},"publicIp":{"type":"string","description":"The public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"},"requestId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FPublicIpTag:PublicIpTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FPublicIpTimeouts:PublicIpTimeouts"},"vmId":{"type":"string","description":"The ID of the VM the public IP is associated with (if any).\n"}},"type":"object","required":["linkPublicIpId","nicAccountId","nicId","outscalePublicIpId","privateIp","publicIp","publicIpId","requestId","vmId"],"inputProperties":{"outscalePublicIpId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FPublicIpTag:PublicIpTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FPublicIpTimeouts:PublicIpTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering PublicIp resources.\n","properties":{"linkPublicIpId":{"type":"string","description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n"},"nicAccountId":{"type":"string","description":"The account ID of the owner of the NIC.\n"},"nicId":{"type":"string","description":"The ID of the NIC the public IP is associated with (if any).\n"},"outscalePublicIpId":{"type":"string"},"privateIp":{"type":"string","description":"The private IP associated with the public IP.\n"},"publicIp":{"type":"string","description":"The public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"},"requestId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FPublicIpTag:PublicIpTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FPublicIpTimeouts:PublicIpTimeouts"},"vmId":{"type":"string","description":"The ID of the VM the public IP is associated with (if any).\n"}},"type":"object"}},"outscale:index/publicIpLink:PublicIpLink":{"description":"Manages a public IP link.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Public-IPs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-publicip).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst publicIp01 = new outscale.PublicIp(\"public_ip01\", {});\nconst vm01 = new outscale.Vm(\"vm01\", {\n    imageId: imageId,\n    vmType: vmType,\n    keypairName: keypairName,\n    securityGroupIds: [securityGroupId],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\npublic_ip01 = outscale.PublicIp(\"public_ip01\")\nvm01 = outscale.Vm(\"vm01\",\n    image_id=image_id,\n    vm_type=vm_type,\n    keypair_name=keypair_name,\n    security_group_ids=[security_group_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var publicIp01 = new Outscale.PublicIp(\"public_ip01\");\n\n    var vm01 = new Outscale.Vm(\"vm01\", new()\n    {\n        ImageId = imageId,\n        VmType = vmType,\n        KeypairName = keypairName,\n        SecurityGroupIds = new[]\n        {\n            securityGroupId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewPublicIp(ctx, \"public_ip01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewVm(ctx, \"vm01\", \u0026outscale.VmArgs{\n\t\t\tImageId:     pulumi.Any(imageId),\n\t\t\tVmType:      pulumi.Any(vmType),\n\t\t\tKeypairName: pulumi.Any(keypairName),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsecurityGroupId,\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.outscale.PublicIp;\nimport com.pulumi.outscale.Vm;\nimport com.pulumi.outscale.VmArgs;\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        var publicIp01 = new PublicIp(\"publicIp01\");\n\n        var vm01 = new Vm(\"vm01\", VmArgs.builder()\n            .imageId(imageId)\n            .vmType(vmType)\n            .keypairName(keypairName)\n            .securityGroupIds(securityGroupId)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  publicIp01:\n    type: outscale:PublicIp\n    name: public_ip01\n  vm01:\n    type: outscale:Vm\n    properties:\n      imageId: ${imageId}\n      vmType: ${vmType}\n      keypairName: ${keypairName}\n      securityGroupIds:\n        - ${securityGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Link a public IP address to a VM\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst publicIpLink01 = new outscale.PublicIpLink(\"public_ip_link01\", {\n    vmId: vm01.vmId,\n    publicIp: publicIp01.publicIp,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\npublic_ip_link01 = outscale.PublicIpLink(\"public_ip_link01\",\n    vm_id=vm01[\"vmId\"],\n    public_ip=public_ip01[\"publicIp\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var publicIpLink01 = new Outscale.PublicIpLink(\"public_ip_link01\", new()\n    {\n        VmId = vm01.VmId,\n        PublicIp = publicIp01.PublicIp,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewPublicIpLink(ctx, \"public_ip_link01\", \u0026outscale.PublicIpLinkArgs{\n\t\t\tVmId:     pulumi.Any(vm01.VmId),\n\t\t\tPublicIp: pulumi.Any(publicIp01.PublicIp),\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.outscale.PublicIpLink;\nimport com.pulumi.outscale.PublicIpLinkArgs;\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        var publicIpLink01 = new PublicIpLink(\"publicIpLink01\", PublicIpLinkArgs.builder()\n            .vmId(vm01.vmId())\n            .publicIp(publicIp01.publicIp())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  publicIpLink01:\n    type: outscale:PublicIpLink\n    name: public_ip_link01\n    properties:\n      vmId: ${vm01.vmId}\n      publicIp: ${publicIp01.publicIp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA public IP link can be imported using the public IP or the public IP link ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/publicIpLink:PublicIpLink ImportedPublicIpLink eipassoc-12345678\n```\n\n","properties":{"allowRelink":{"type":"boolean","description":"If true, allows the public IP to be associated with the VM or NIC that you specify even if it is already associated with another VM or NIC. If false, prevents the public IP from being associated with the VM or NIC that you specify if it is already associated with another VM or NIC. (By default, true in the public Cloud, false in a Net.)\n"},"linkPublicIpId":{"type":"string","description":"(Net only) The ID representing the association of the public IP with the VM or the NIC.\n"},"nicAccountId":{"type":"string"},"nicId":{"type":"string","description":"(Net only) The ID of the NIC. This parameter is required if the VM has more than one NIC attached. Otherwise, you need to specify the \u003cspan pulumi-lang-nodejs=\"`vmId`\" pulumi-lang-dotnet=\"`VmId`\" pulumi-lang-go=\"`vmId`\" pulumi-lang-python=\"`vm_id`\" pulumi-lang-yaml=\"`vmId`\" pulumi-lang-java=\"`vmId`\"\u003e`vm_id`\u003c/span\u003e parameter instead. You cannot specify both parameters at the same time.\n"},"privateIp":{"type":"string","description":"(Net only) The primary or secondary private IP of the specified NIC. By default, the primary private IP.\n"},"publicIp":{"type":"string","description":"The public IP. This parameter is required unless you use the \u003cspan pulumi-lang-nodejs=\"`publicIpId`\" pulumi-lang-dotnet=\"`PublicIpId`\" pulumi-lang-go=\"`publicIpId`\" pulumi-lang-python=\"`public_ip_id`\" pulumi-lang-yaml=\"`publicIpId`\" pulumi-lang-java=\"`publicIpId`\"\u003e`public_ip_id`\u003c/span\u003e parameter.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP. This parameter is required unless you use the \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e parameter.\n"},"publicIpLinkId":{"type":"string"},"requestId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FPublicIpLinkTag:PublicIpLinkTag"}},"timeouts":{"$ref":"#/types/outscale:index%2FPublicIpLinkTimeouts:PublicIpLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM.\u003cbr /\u003e- In the public Cloud, this parameter is required.\u003cbr /\u003e- In a Net, this parameter is required if the VM has only one NIC. Otherwise, you need to specify the \u003cspan pulumi-lang-nodejs=\"`nicId`\" pulumi-lang-dotnet=\"`NicId`\" pulumi-lang-go=\"`nicId`\" pulumi-lang-python=\"`nic_id`\" pulumi-lang-yaml=\"`nicId`\" pulumi-lang-java=\"`nicId`\"\u003e`nic_id`\u003c/span\u003e parameter instead. You cannot specify both parameters at the same time.\n"}},"type":"object","required":["linkPublicIpId","nicAccountId","nicId","privateIp","publicIp","publicIpId","publicIpLinkId","requestId","tags","vmId"],"inputProperties":{"allowRelink":{"type":"boolean","description":"If true, allows the public IP to be associated with the VM or NIC that you specify even if it is already associated with another VM or NIC. If false, prevents the public IP from being associated with the VM or NIC that you specify if it is already associated with another VM or NIC. (By default, true in the public Cloud, false in a Net.)\n"},"nicId":{"type":"string","description":"(Net only) The ID of the NIC. This parameter is required if the VM has more than one NIC attached. Otherwise, you need to specify the \u003cspan pulumi-lang-nodejs=\"`vmId`\" pulumi-lang-dotnet=\"`VmId`\" pulumi-lang-go=\"`vmId`\" pulumi-lang-python=\"`vm_id`\" pulumi-lang-yaml=\"`vmId`\" pulumi-lang-java=\"`vmId`\"\u003e`vm_id`\u003c/span\u003e parameter instead. You cannot specify both parameters at the same time.\n"},"privateIp":{"type":"string","description":"(Net only) The primary or secondary private IP of the specified NIC. By default, the primary private IP.\n"},"publicIp":{"type":"string","description":"The public IP. This parameter is required unless you use the \u003cspan pulumi-lang-nodejs=\"`publicIpId`\" pulumi-lang-dotnet=\"`PublicIpId`\" pulumi-lang-go=\"`publicIpId`\" pulumi-lang-python=\"`public_ip_id`\" pulumi-lang-yaml=\"`publicIpId`\" pulumi-lang-java=\"`publicIpId`\"\u003e`public_ip_id`\u003c/span\u003e parameter.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP. This parameter is required unless you use the \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e parameter.\n"},"publicIpLinkId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FPublicIpLinkTimeouts:PublicIpLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM.\u003cbr /\u003e- In the public Cloud, this parameter is required.\u003cbr /\u003e- In a Net, this parameter is required if the VM has only one NIC. Otherwise, you need to specify the \u003cspan pulumi-lang-nodejs=\"`nicId`\" pulumi-lang-dotnet=\"`NicId`\" pulumi-lang-go=\"`nicId`\" pulumi-lang-python=\"`nic_id`\" pulumi-lang-yaml=\"`nicId`\" pulumi-lang-java=\"`nicId`\"\u003e`nic_id`\u003c/span\u003e parameter instead. You cannot specify both parameters at the same time.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering PublicIpLink resources.\n","properties":{"allowRelink":{"type":"boolean","description":"If true, allows the public IP to be associated with the VM or NIC that you specify even if it is already associated with another VM or NIC. If false, prevents the public IP from being associated with the VM or NIC that you specify if it is already associated with another VM or NIC. (By default, true in the public Cloud, false in a Net.)\n"},"linkPublicIpId":{"type":"string","description":"(Net only) The ID representing the association of the public IP with the VM or the NIC.\n"},"nicAccountId":{"type":"string"},"nicId":{"type":"string","description":"(Net only) The ID of the NIC. This parameter is required if the VM has more than one NIC attached. Otherwise, you need to specify the \u003cspan pulumi-lang-nodejs=\"`vmId`\" pulumi-lang-dotnet=\"`VmId`\" pulumi-lang-go=\"`vmId`\" pulumi-lang-python=\"`vm_id`\" pulumi-lang-yaml=\"`vmId`\" pulumi-lang-java=\"`vmId`\"\u003e`vm_id`\u003c/span\u003e parameter instead. You cannot specify both parameters at the same time.\n"},"privateIp":{"type":"string","description":"(Net only) The primary or secondary private IP of the specified NIC. By default, the primary private IP.\n"},"publicIp":{"type":"string","description":"The public IP. This parameter is required unless you use the \u003cspan pulumi-lang-nodejs=\"`publicIpId`\" pulumi-lang-dotnet=\"`PublicIpId`\" pulumi-lang-go=\"`publicIpId`\" pulumi-lang-python=\"`public_ip_id`\" pulumi-lang-yaml=\"`publicIpId`\" pulumi-lang-java=\"`publicIpId`\"\u003e`public_ip_id`\u003c/span\u003e parameter.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP. This parameter is required unless you use the \u003cspan pulumi-lang-nodejs=\"`publicIp`\" pulumi-lang-dotnet=\"`PublicIp`\" pulumi-lang-go=\"`publicIp`\" pulumi-lang-python=\"`public_ip`\" pulumi-lang-yaml=\"`publicIp`\" pulumi-lang-java=\"`publicIp`\"\u003e`public_ip`\u003c/span\u003e parameter.\n"},"publicIpLinkId":{"type":"string"},"requestId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FPublicIpLinkTag:PublicIpLinkTag"}},"timeouts":{"$ref":"#/types/outscale:index%2FPublicIpLinkTimeouts:PublicIpLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM.\u003cbr /\u003e- In the public Cloud, this parameter is required.\u003cbr /\u003e- In a Net, this parameter is required if the VM has only one NIC. Otherwise, you need to specify the \u003cspan pulumi-lang-nodejs=\"`nicId`\" pulumi-lang-dotnet=\"`NicId`\" pulumi-lang-go=\"`nicId`\" pulumi-lang-python=\"`nic_id`\" pulumi-lang-yaml=\"`nicId`\" pulumi-lang-java=\"`nicId`\"\u003e`nic_id`\u003c/span\u003e parameter instead. You cannot specify both parameters at the same time.\n"}},"type":"object"}},"outscale:index/route:Route":{"description":"Manages a route.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Route-Tables.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-route).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst routeTable01 = new outscale.RouteTable(\"route_table01\", {netId: net01.netId});\nconst internetService01 = new outscale.InternetService(\"internet_service01\", {});\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internet_service_link01\", {\n    internetServiceId: internetService01.internetServiceId,\n    netId: net01.netId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nroute_table01 = outscale.RouteTable(\"route_table01\", net_id=net01.net_id)\ninternet_service01 = outscale.InternetService(\"internet_service01\")\ninternet_service_link01 = outscale.InternetServiceLink(\"internet_service_link01\",\n    internet_service_id=internet_service01.internet_service_id,\n    net_id=net01.net_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var routeTable01 = new Outscale.RouteTable(\"route_table01\", new()\n    {\n        NetId = net01.NetId,\n    });\n\n    var internetService01 = new Outscale.InternetService(\"internet_service01\");\n\n    var internetServiceLink01 = new Outscale.InternetServiceLink(\"internet_service_link01\", new()\n    {\n        InternetServiceId = internetService01.InternetServiceId,\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewRouteTable(ctx, \"route_table01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: net01.NetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternetService01, err := outscale.NewInternetService(ctx, \"internet_service01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewInternetServiceLink(ctx, \"internet_service_link01\", \u0026outscale.InternetServiceLinkArgs{\n\t\t\tInternetServiceId: internetService01.InternetServiceId,\n\t\t\tNetId:             net01.NetId,\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\nimport com.pulumi.outscale.InternetService;\nimport com.pulumi.outscale.InternetServiceLink;\nimport com.pulumi.outscale.InternetServiceLinkArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder()\n            .netId(net01.netId())\n            .build());\n\n        var internetService01 = new InternetService(\"internetService01\");\n\n        var internetServiceLink01 = new InternetServiceLink(\"internetServiceLink01\", InternetServiceLinkArgs.builder()\n            .internetServiceId(internetService01.internetServiceId())\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  routeTable01:\n    type: outscale:RouteTable\n    name: route_table01\n    properties:\n      netId: ${net01.netId}\n  internetService01:\n    type: outscale:InternetService\n    name: internet_service01\n  internetServiceLink01:\n    type: outscale:InternetServiceLink\n    name: internet_service_link01\n    properties:\n      internetServiceId: ${internetService01.internetServiceId}\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a route to an Internet service\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst route01 = new outscale.Route(\"route01\", {\n    gatewayId: internetService01.internetServiceId,\n    destinationIpRange: \"0.0.0.0/0\",\n    routeTableId: routeTable01.routeTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nroute01 = outscale.Route(\"route01\",\n    gateway_id=internet_service01[\"internetServiceId\"],\n    destination_ip_range=\"0.0.0.0/0\",\n    route_table_id=route_table01[\"routeTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var route01 = new Outscale.Route(\"route01\", new()\n    {\n        GatewayId = internetService01.InternetServiceId,\n        DestinationIpRange = \"0.0.0.0/0\",\n        RouteTableId = routeTable01.RouteTableId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewRoute(ctx, \"route01\", \u0026outscale.RouteArgs{\n\t\t\tGatewayId:          pulumi.Any(internetService01.InternetServiceId),\n\t\t\tDestinationIpRange: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tRouteTableId:       pulumi.Any(routeTable01.RouteTableId),\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.outscale.Route;\nimport com.pulumi.outscale.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        var route01 = new Route(\"route01\", RouteArgs.builder()\n            .gatewayId(internetService01.internetServiceId())\n            .destinationIpRange(\"0.0.0.0/0\")\n            .routeTableId(routeTable01.routeTableId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  route01:\n    type: outscale:Route\n    properties:\n      gatewayId: ${internetService01.internetServiceId}\n      destinationIpRange: 0.0.0.0/0\n      routeTableId: ${routeTable01.routeTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA route can be imported using the route table ID and the destination IP range. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/route:Route outscale_routeImportedRoute rtb-12345678_10.0.0.0/0\n```\n\n","properties":{"awaitActiveState":{"type":"boolean","description":"By default or if set to true, waits for the route to be in the \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e state to declare its successful creation.\u003cbr /\u003eIf false, the created route is in the \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e state if available, or the \u003cspan pulumi-lang-nodejs=\"`blackhole`\" pulumi-lang-dotnet=\"`Blackhole`\" pulumi-lang-go=\"`blackhole`\" pulumi-lang-python=\"`blackhole`\" pulumi-lang-yaml=\"`blackhole`\" pulumi-lang-java=\"`blackhole`\"\u003e`blackhole`\u003c/span\u003e state if not available.\n","deprecationMessage":"Deprecated"},"creationMethod":{"type":"string","description":"The method used to create the route.\n"},"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"},"destinationServiceId":{"type":"string","description":"The ID of the OUTSCALE service.\n"},"gatewayId":{"type":"string","description":"The ID of an internet service or virtual gateway attached to your Net.\n"},"natServiceId":{"type":"string","description":"The ID of a NAT service.\n"},"netAccessPointId":{"type":"string","description":"The ID of the Net access point.\n"},"netPeeringId":{"type":"string","description":"The ID of a Net peering.\n"},"nicId":{"type":"string","description":"The ID of a NIC.\n"},"requestId":{"type":"string"},"routeTableId":{"type":"string","description":"The ID of the route table for which you want to create a route.\n"},"state":{"type":"string","description":"The state of a route in the route table (always \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FRouteTimeouts:RouteTimeouts"},"vmAccountId":{"type":"string","description":"The account ID of the owner of the VM.\n"},"vmId":{"type":"string","description":"The ID of a NAT VM in your Net (attached to exactly one NIC).\n"}},"type":"object","required":["awaitActiveState","creationMethod","destinationIpRange","destinationServiceId","gatewayId","natServiceId","netAccessPointId","netPeeringId","nicId","requestId","routeTableId","state","vmAccountId","vmId"],"inputProperties":{"awaitActiveState":{"type":"boolean","description":"By default or if set to true, waits for the route to be in the \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e state to declare its successful creation.\u003cbr /\u003eIf false, the created route is in the \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e state if available, or the \u003cspan pulumi-lang-nodejs=\"`blackhole`\" pulumi-lang-dotnet=\"`Blackhole`\" pulumi-lang-go=\"`blackhole`\" pulumi-lang-python=\"`blackhole`\" pulumi-lang-yaml=\"`blackhole`\" pulumi-lang-java=\"`blackhole`\"\u003e`blackhole`\u003c/span\u003e state if not available.\n","deprecationMessage":"Deprecated"},"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"},"gatewayId":{"type":"string","description":"The ID of an internet service or virtual gateway attached to your Net.\n"},"natServiceId":{"type":"string","description":"The ID of a NAT service.\n"},"netPeeringId":{"type":"string","description":"The ID of a Net peering.\n"},"nicId":{"type":"string","description":"The ID of a NIC.\n"},"routeTableId":{"type":"string","description":"The ID of the route table for which you want to create a route.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FRouteTimeouts:RouteTimeouts"},"vmId":{"type":"string","description":"The ID of a NAT VM in your Net (attached to exactly one NIC).\n"}},"requiredInputs":["destinationIpRange","routeTableId"],"stateInputs":{"description":"Input properties used for looking up and filtering Route resources.\n","properties":{"awaitActiveState":{"type":"boolean","description":"By default or if set to true, waits for the route to be in the \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e state to declare its successful creation.\u003cbr /\u003eIf false, the created route is in the \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e state if available, or the \u003cspan pulumi-lang-nodejs=\"`blackhole`\" pulumi-lang-dotnet=\"`Blackhole`\" pulumi-lang-go=\"`blackhole`\" pulumi-lang-python=\"`blackhole`\" pulumi-lang-yaml=\"`blackhole`\" pulumi-lang-java=\"`blackhole`\"\u003e`blackhole`\u003c/span\u003e state if not available.\n","deprecationMessage":"Deprecated"},"creationMethod":{"type":"string","description":"The method used to create the route.\n"},"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"},"destinationServiceId":{"type":"string","description":"The ID of the OUTSCALE service.\n"},"gatewayId":{"type":"string","description":"The ID of an internet service or virtual gateway attached to your Net.\n"},"natServiceId":{"type":"string","description":"The ID of a NAT service.\n"},"netAccessPointId":{"type":"string","description":"The ID of the Net access point.\n"},"netPeeringId":{"type":"string","description":"The ID of a Net peering.\n"},"nicId":{"type":"string","description":"The ID of a NIC.\n"},"requestId":{"type":"string"},"routeTableId":{"type":"string","description":"The ID of the route table for which you want to create a route.\n"},"state":{"type":"string","description":"The state of a route in the route table (always \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FRouteTimeouts:RouteTimeouts"},"vmAccountId":{"type":"string","description":"The account ID of the owner of the VM.\n"},"vmId":{"type":"string","description":"The ID of a NAT VM in your Net (attached to exactly one NIC).\n"}},"type":"object"}},"outscale:index/routeTable:RouteTable":{"description":"Manages a route table.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Route-Tables.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-routetable).\n\n## Example Usage\n\n### Required resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a route table\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst routeTable01 = new outscale.RouteTable(\"route_table01\", {netId: net01.netId});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nroute_table01 = outscale.RouteTable(\"route_table01\", net_id=net01[\"netId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var routeTable01 = new Outscale.RouteTable(\"route_table01\", new()\n    {\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewRouteTable(ctx, \"route_table01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: pulumi.Any(net01.NetId),\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.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\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        var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder()\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  routeTable01:\n    type: outscale:RouteTable\n    name: route_table01\n    properties:\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA route table can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/routeTable:RouteTable ImportedRouteTable rtb-12345678\n```\n\n","properties":{"linkRouteTables":{"type":"array","items":{"$ref":"#/types/outscale:index%2FRouteTableLinkRouteTable:RouteTableLinkRouteTable"},"description":"One or more associations between the route table and Subnets.\n"},"netId":{"type":"string","description":"The ID of the Net for which you want to create a route table.\n"},"requestId":{"type":"string"},"routePropagatingVirtualGateways":{"type":"array","items":{"$ref":"#/types/outscale:index%2FRouteTableRoutePropagatingVirtualGateway:RouteTableRoutePropagatingVirtualGateway"},"description":"Information about virtual gateways propagating routes.\n"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"routes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FRouteTableRoute:RouteTableRoute"},"description":"One or more routes in the route table.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FRouteTableTag:RouteTableTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FRouteTableTimeouts:RouteTableTimeouts"}},"type":"object","required":["linkRouteTables","netId","requestId","routePropagatingVirtualGateways","routeTableId","routes"],"inputProperties":{"netId":{"type":"string","description":"The ID of the Net for which you want to create a route table.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FRouteTableTag:RouteTableTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FRouteTableTimeouts:RouteTableTimeouts"}},"requiredInputs":["netId"],"stateInputs":{"description":"Input properties used for looking up and filtering RouteTable resources.\n","properties":{"linkRouteTables":{"type":"array","items":{"$ref":"#/types/outscale:index%2FRouteTableLinkRouteTable:RouteTableLinkRouteTable"},"description":"One or more associations between the route table and Subnets.\n"},"netId":{"type":"string","description":"The ID of the Net for which you want to create a route table.\n"},"requestId":{"type":"string"},"routePropagatingVirtualGateways":{"type":"array","items":{"$ref":"#/types/outscale:index%2FRouteTableRoutePropagatingVirtualGateway:RouteTableRoutePropagatingVirtualGateway"},"description":"Information about virtual gateways propagating routes.\n"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"routes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FRouteTableRoute:RouteTableRoute"},"description":"One or more routes in the route table.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FRouteTableTag:RouteTableTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FRouteTableTimeouts:RouteTableTimeouts"}},"type":"object"}},"outscale:index/routeTableLink:RouteTableLink":{"description":"Manages a route table link.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Route-Tables.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-routetable).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n    netId: net01.netId,\n    ipRange: \"10.0.0.0/18\",\n});\nconst routeTable01 = new outscale.RouteTable(\"route_table01\", {netId: net01.netId});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nsubnet01 = outscale.Subnet(\"subnet01\",\n    net_id=net01.net_id,\n    ip_range=\"10.0.0.0/18\")\nroute_table01 = outscale.RouteTable(\"route_table01\", net_id=net01.net_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n    {\n        NetId = net01.NetId,\n        IpRange = \"10.0.0.0/18\",\n    });\n\n    var routeTable01 = new Outscale.RouteTable(\"route_table01\", new()\n    {\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewSubnet(ctx, \"subnet01\", \u0026outscale.SubnetArgs{\n\t\t\tNetId:   net01.NetId,\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/18\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewRouteTable(ctx, \"route_table01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: net01.NetId,\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder()\n            .netId(net01.netId())\n            .ipRange(\"10.0.0.0/18\")\n            .build());\n\n        var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder()\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  subnet01:\n    type: outscale:Subnet\n    properties:\n      netId: ${net01.netId}\n      ipRange: 10.0.0.0/18\n  routeTable01:\n    type: outscale:RouteTable\n    name: route_table01\n    properties:\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Link a route table to a subnet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst routeTableLink01 = new outscale.RouteTableLink(\"route_table_link01\", {\n    subnetId: subnet01.subnetId,\n    routeTableId: routeTable01.routeTableId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nroute_table_link01 = outscale.RouteTableLink(\"route_table_link01\",\n    subnet_id=subnet01[\"subnetId\"],\n    route_table_id=route_table01[\"routeTableId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var routeTableLink01 = new Outscale.RouteTableLink(\"route_table_link01\", new()\n    {\n        SubnetId = subnet01.SubnetId,\n        RouteTableId = routeTable01.RouteTableId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewRouteTableLink(ctx, \"route_table_link01\", \u0026outscale.RouteTableLinkArgs{\n\t\t\tSubnetId:     pulumi.Any(subnet01.SubnetId),\n\t\t\tRouteTableId: pulumi.Any(routeTable01.RouteTableId),\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.outscale.RouteTableLink;\nimport com.pulumi.outscale.RouteTableLinkArgs;\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        var routeTableLink01 = new RouteTableLink(\"routeTableLink01\", RouteTableLinkArgs.builder()\n            .subnetId(subnet01.subnetId())\n            .routeTableId(routeTable01.routeTableId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  routeTableLink01:\n    type: outscale:RouteTableLink\n    name: route_table_link01\n    properties:\n      subnetId: ${subnet01.subnetId}\n      routeTableId: ${routeTable01.routeTableId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA route table link can be imported using the route table ID and the route table link ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/routeTableLink:RouteTableLink ImportedRouteTableLink rtb-12345678_rtbassoc-87654321\n```\n\n","properties":{"linkRouteTableId":{"type":"string","description":"The ID of the association between the route table and the Subnet.\n"},"main":{"type":"boolean","description":"If true, the route table is the main one.\n"},"netId":{"type":"string"},"requestId":{"type":"string"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"subnetId":{"type":"string","description":"The ID of the Net.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FRouteTableLinkTimeouts:RouteTableLinkTimeouts"}},"type":"object","required":["linkRouteTableId","main","netId","requestId","routeTableId","subnetId"],"inputProperties":{"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"subnetId":{"type":"string","description":"The ID of the Net.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FRouteTableLinkTimeouts:RouteTableLinkTimeouts"}},"requiredInputs":["routeTableId","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering RouteTableLink resources.\n","properties":{"linkRouteTableId":{"type":"string","description":"The ID of the association between the route table and the Subnet.\n"},"main":{"type":"boolean","description":"If true, the route table is the main one.\n"},"netId":{"type":"string"},"requestId":{"type":"string"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"subnetId":{"type":"string","description":"The ID of the Net.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FRouteTableLinkTimeouts:RouteTableLinkTimeouts"}},"type":"object"}},"outscale:index/securityGroup:SecurityGroup":{"description":"Manages a security group.\n\nSecurity groups you create to use in a Net contain a default outbound rule that allows all outbound flows.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Security-Groups.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-securitygroup).\n\n## Example Usage\n\n### Optional resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a security group for a Net\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroup01 = new outscale.SecurityGroup(\"security_group01\", {\n    description: \"Terraform security group\",\n    securityGroupName: \"terraform-security-group\",\n    netId: net01.netId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsecurity_group01 = outscale.SecurityGroup(\"security_group01\",\n    description=\"Terraform security group\",\n    security_group_name=\"terraform-security-group\",\n    net_id=net01[\"netId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityGroup01 = new Outscale.SecurityGroup(\"security_group01\", new()\n    {\n        Description = \"Terraform security group\",\n        SecurityGroupName = \"terraform-security-group\",\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSecurityGroup(ctx, \"security_group01\", \u0026outscale.SecurityGroupArgs{\n\t\t\tDescription:       pulumi.String(\"Terraform security group\"),\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-security-group\"),\n\t\t\tNetId:             pulumi.Any(net01.NetId),\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.outscale.SecurityGroup;\nimport com.pulumi.outscale.SecurityGroupArgs;\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        var securityGroup01 = new SecurityGroup(\"securityGroup01\", SecurityGroupArgs.builder()\n            .description(\"Terraform security group\")\n            .securityGroupName(\"terraform-security-group\")\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  securityGroup01:\n    type: outscale:SecurityGroup\n    name: security_group01\n    properties:\n      description: Terraform security group\n      securityGroupName: terraform-security-group\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a security group for a Net without the default outbound rule \n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroup02 = new outscale.SecurityGroup(\"security_group02\", {\n    removeDefaultOutboundRule: true,\n    description: \"Terraform security group without outbound rule\",\n    securityGroupName: \"terraform-security-group-empty\",\n    netId: net01.netId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsecurity_group02 = outscale.SecurityGroup(\"security_group02\",\n    remove_default_outbound_rule=True,\n    description=\"Terraform security group without outbound rule\",\n    security_group_name=\"terraform-security-group-empty\",\n    net_id=net01[\"netId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityGroup02 = new Outscale.SecurityGroup(\"security_group02\", new()\n    {\n        RemoveDefaultOutboundRule = true,\n        Description = \"Terraform security group without outbound rule\",\n        SecurityGroupName = \"terraform-security-group-empty\",\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSecurityGroup(ctx, \"security_group02\", \u0026outscale.SecurityGroupArgs{\n\t\t\tRemoveDefaultOutboundRule: pulumi.Bool(true),\n\t\t\tDescription:               pulumi.String(\"Terraform security group without outbound rule\"),\n\t\t\tSecurityGroupName:         pulumi.String(\"terraform-security-group-empty\"),\n\t\t\tNetId:                     pulumi.Any(net01.NetId),\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.outscale.SecurityGroup;\nimport com.pulumi.outscale.SecurityGroupArgs;\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        var securityGroup02 = new SecurityGroup(\"securityGroup02\", SecurityGroupArgs.builder()\n            .removeDefaultOutboundRule(true)\n            .description(\"Terraform security group without outbound rule\")\n            .securityGroupName(\"terraform-security-group-empty\")\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  securityGroup02:\n    type: outscale:SecurityGroup\n    name: security_group02\n    properties:\n      removeDefaultOutboundRule: true\n      description: Terraform security group without outbound rule\n      securityGroupName: terraform-security-group-empty\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA security group can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/securityGroup:SecurityGroup ImportedSecurityGroup sg-87654321\n```\n\n","properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"description":{"type":"string","description":"A description for the security group.\u003cbr /\u003e\nThis description can contain between 1 and 255 characters. Allowed characters are `a-z`, `A-Z`, `0-9`, accented letters, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.\n"},"inboundRules":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupInboundRule:SecurityGroupInboundRule"},"description":"The inbound rules associated with the security group.\n"},"netId":{"type":"string","description":"The ID of the Net for the security group.\n"},"outboundRules":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupOutboundRule:SecurityGroupOutboundRule"},"description":"The outbound rules associated with the security group.\n"},"removeDefaultOutboundRule":{"type":"boolean","description":"(Net only) By default or if set to false, the security group is created with a default outbound rule allowing all outbound flows. If set to true, the security group is created without a default outbound rule. For an existing security group, setting this parameter to true deletes the security group and creates a new one.\n"},"requestId":{"type":"string"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"A name for the security group.\u003cbr /\u003e\nThis name must be unique and contain between 1 and 255 characters. It must not start with `sg-`. Allowed characters are `a-z`, `A-Z`, `0-9`, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.\u003cbr /\u003e\nIf not specified, the security group name is randomly generated.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupTag:SecurityGroupTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSecurityGroupTimeouts:SecurityGroupTimeouts"}},"type":"object","required":["accountId","description","inboundRules","netId","outboundRules","removeDefaultOutboundRule","requestId","securityGroupId","securityGroupName"],"inputProperties":{"description":{"type":"string","description":"A description for the security group.\u003cbr /\u003e\nThis description can contain between 1 and 255 characters. Allowed characters are `a-z`, `A-Z`, `0-9`, accented letters, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.\n"},"netId":{"type":"string","description":"The ID of the Net for the security group.\n"},"removeDefaultOutboundRule":{"type":"boolean","description":"(Net only) By default or if set to false, the security group is created with a default outbound rule allowing all outbound flows. If set to true, the security group is created without a default outbound rule. For an existing security group, setting this parameter to true deletes the security group and creates a new one.\n"},"securityGroupName":{"type":"string","description":"A name for the security group.\u003cbr /\u003e\nThis name must be unique and contain between 1 and 255 characters. It must not start with `sg-`. Allowed characters are `a-z`, `A-Z`, `0-9`, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.\u003cbr /\u003e\nIf not specified, the security group name is randomly generated.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupTag:SecurityGroupTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSecurityGroupTimeouts:SecurityGroupTimeouts"}},"requiredInputs":["description"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityGroup resources.\n","properties":{"accountId":{"type":"string","description":"The account ID that owns the source or destination security group.\n"},"description":{"type":"string","description":"A description for the security group.\u003cbr /\u003e\nThis description can contain between 1 and 255 characters. Allowed characters are `a-z`, `A-Z`, `0-9`, accented letters, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.\n"},"inboundRules":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupInboundRule:SecurityGroupInboundRule"},"description":"The inbound rules associated with the security group.\n"},"netId":{"type":"string","description":"The ID of the Net for the security group.\n"},"outboundRules":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupOutboundRule:SecurityGroupOutboundRule"},"description":"The outbound rules associated with the security group.\n"},"removeDefaultOutboundRule":{"type":"boolean","description":"(Net only) By default or if set to false, the security group is created with a default outbound rule allowing all outbound flows. If set to true, the security group is created without a default outbound rule. For an existing security group, setting this parameter to true deletes the security group and creates a new one.\n"},"requestId":{"type":"string"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"A name for the security group.\u003cbr /\u003e\nThis name must be unique and contain between 1 and 255 characters. It must not start with `sg-`. Allowed characters are `a-z`, `A-Z`, `0-9`, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.\u003cbr /\u003e\nIf not specified, the security group name is randomly generated.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupTag:SecurityGroupTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSecurityGroupTimeouts:SecurityGroupTimeouts"}},"type":"object"}},"outscale:index/securityGroupRule:SecurityGroupRule":{"description":"Manages a security group rule.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Security-Group-Rules.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-securitygrouprule).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroup01 = new outscale.SecurityGroup(\"security_group01\", {\n    description: \"Terraform target security group for SG rule from IP and SG\",\n    securityGroupName: \"terraform-security-group-test-01\",\n});\nconst securityGroup02 = new outscale.SecurityGroup(\"security_group02\", {\n    description: \"Terraform source security group for SG rule from SG\",\n    securityGroupName: \"terraform-security-group-test-02\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsecurity_group01 = outscale.SecurityGroup(\"security_group01\",\n    description=\"Terraform target security group for SG rule from IP and SG\",\n    security_group_name=\"terraform-security-group-test-01\")\nsecurity_group02 = outscale.SecurityGroup(\"security_group02\",\n    description=\"Terraform source security group for SG rule from SG\",\n    security_group_name=\"terraform-security-group-test-02\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityGroup01 = new Outscale.SecurityGroup(\"security_group01\", new()\n    {\n        Description = \"Terraform target security group for SG rule from IP and SG\",\n        SecurityGroupName = \"terraform-security-group-test-01\",\n    });\n\n    var securityGroup02 = new Outscale.SecurityGroup(\"security_group02\", new()\n    {\n        Description = \"Terraform source security group for SG rule from SG\",\n        SecurityGroupName = \"terraform-security-group-test-02\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSecurityGroup(ctx, \"security_group01\", \u0026outscale.SecurityGroupArgs{\n\t\t\tDescription:       pulumi.String(\"Terraform target security group for SG rule from IP and SG\"),\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-security-group-test-01\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewSecurityGroup(ctx, \"security_group02\", \u0026outscale.SecurityGroupArgs{\n\t\t\tDescription:       pulumi.String(\"Terraform source security group for SG rule from SG\"),\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-security-group-test-02\"),\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.outscale.SecurityGroup;\nimport com.pulumi.outscale.SecurityGroupArgs;\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        var securityGroup01 = new SecurityGroup(\"securityGroup01\", SecurityGroupArgs.builder()\n            .description(\"Terraform target security group for SG rule from IP and SG\")\n            .securityGroupName(\"terraform-security-group-test-01\")\n            .build());\n\n        var securityGroup02 = new SecurityGroup(\"securityGroup02\", SecurityGroupArgs.builder()\n            .description(\"Terraform source security group for SG rule from SG\")\n            .securityGroupName(\"terraform-security-group-test-02\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  securityGroup01:\n    type: outscale:SecurityGroup\n    name: security_group01\n    properties:\n      description: Terraform target security group for SG rule from IP and SG\n      securityGroupName: terraform-security-group-test-01\n  securityGroup02:\n    type: outscale:SecurityGroup\n    name: security_group02\n    properties:\n      description: Terraform source security group for SG rule from SG\n      securityGroupName: terraform-security-group-test-02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Set an inbound rule from an IP range\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroupRule01 = new outscale.SecurityGroupRule(\"security_group_rule01\", {\n    flow: \"Inbound\",\n    securityGroupId: securityGroup01.securityGroupId,\n    fromPortRange: 80,\n    toPortRange: 80,\n    ipProtocol: \"tcp\",\n    ipRange: \"10.0.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsecurity_group_rule01 = outscale.SecurityGroupRule(\"security_group_rule01\",\n    flow=\"Inbound\",\n    security_group_id=security_group01[\"securityGroupId\"],\n    from_port_range=80,\n    to_port_range=80,\n    ip_protocol=\"tcp\",\n    ip_range=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityGroupRule01 = new Outscale.SecurityGroupRule(\"security_group_rule01\", new()\n    {\n        Flow = \"Inbound\",\n        SecurityGroupId = securityGroup01.SecurityGroupId,\n        FromPortRange = 80,\n        ToPortRange = 80,\n        IpProtocol = \"tcp\",\n        IpRange = \"10.0.0.0/16\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSecurityGroupRule(ctx, \"security_group_rule01\", \u0026outscale.SecurityGroupRuleArgs{\n\t\t\tFlow:            pulumi.String(\"Inbound\"),\n\t\t\tSecurityGroupId: pulumi.Any(securityGroup01.SecurityGroupId),\n\t\t\tFromPortRange:   pulumi.Float64(80),\n\t\t\tToPortRange:     pulumi.Float64(80),\n\t\t\tIpProtocol:      pulumi.String(\"tcp\"),\n\t\t\tIpRange:         pulumi.String(\"10.0.0.0/16\"),\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.outscale.SecurityGroupRule;\nimport com.pulumi.outscale.SecurityGroupRuleArgs;\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        var securityGroupRule01 = new SecurityGroupRule(\"securityGroupRule01\", SecurityGroupRuleArgs.builder()\n            .flow(\"Inbound\")\n            .securityGroupId(securityGroup01.securityGroupId())\n            .fromPortRange(80.0)\n            .toPortRange(80.0)\n            .ipProtocol(\"tcp\")\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  securityGroupRule01:\n    type: outscale:SecurityGroupRule\n    name: security_group_rule01\n    properties:\n      flow: Inbound\n      securityGroupId: ${securityGroup01.securityGroupId}\n      fromPortRange: '80'\n      toPortRange: '80'\n      ipProtocol: tcp\n      ipRange: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Set an inbound rule from another security group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroupRule02 = new outscale.SecurityGroupRule(\"security_group_rule02\", {\n    flow: \"Inbound\",\n    securityGroupId: securityGroup01.securityGroupId,\n    rules: [{\n        fromPortRange: 22,\n        toPortRange: 22,\n        ipProtocol: \"tcp\",\n        securityGroupsMembers: [{\n            accountId: \"012345678910\",\n            securityGroupName: \"terraform-security-group-test-02\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsecurity_group_rule02 = outscale.SecurityGroupRule(\"security_group_rule02\",\n    flow=\"Inbound\",\n    security_group_id=security_group01[\"securityGroupId\"],\n    rules=[{\n        \"from_port_range\": 22,\n        \"to_port_range\": 22,\n        \"ip_protocol\": \"tcp\",\n        \"security_groups_members\": [{\n            \"account_id\": \"012345678910\",\n            \"security_group_name\": \"terraform-security-group-test-02\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityGroupRule02 = new Outscale.SecurityGroupRule(\"security_group_rule02\", new()\n    {\n        Flow = \"Inbound\",\n        SecurityGroupId = securityGroup01.SecurityGroupId,\n        Rules = new[]\n        {\n            new Outscale.Inputs.SecurityGroupRuleRuleArgs\n            {\n                FromPortRange = 22,\n                ToPortRange = 22,\n                IpProtocol = \"tcp\",\n                SecurityGroupsMembers = new[]\n                {\n                    new Outscale.Inputs.SecurityGroupRuleRuleSecurityGroupsMemberArgs\n                    {\n                        AccountId = \"012345678910\",\n                        SecurityGroupName = \"terraform-security-group-test-02\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSecurityGroupRule(ctx, \"security_group_rule02\", \u0026outscale.SecurityGroupRuleArgs{\n\t\t\tFlow:            pulumi.String(\"Inbound\"),\n\t\t\tSecurityGroupId: pulumi.Any(securityGroup01.SecurityGroupId),\n\t\t\tRules: outscale.SecurityGroupRuleRuleArray{\n\t\t\t\t\u0026outscale.SecurityGroupRuleRuleArgs{\n\t\t\t\t\tFromPortRange: pulumi.Float64(22),\n\t\t\t\t\tToPortRange:   pulumi.Float64(22),\n\t\t\t\t\tIpProtocol:    pulumi.String(\"tcp\"),\n\t\t\t\t\tSecurityGroupsMembers: outscale.SecurityGroupRuleRuleSecurityGroupsMemberArray{\n\t\t\t\t\t\t\u0026outscale.SecurityGroupRuleRuleSecurityGroupsMemberArgs{\n\t\t\t\t\t\t\tAccountId:         pulumi.String(\"012345678910\"),\n\t\t\t\t\t\t\tSecurityGroupName: pulumi.String(\"terraform-security-group-test-02\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\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.outscale.SecurityGroupRule;\nimport com.pulumi.outscale.SecurityGroupRuleArgs;\nimport com.pulumi.outscale.inputs.SecurityGroupRuleRuleArgs;\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        var securityGroupRule02 = new SecurityGroupRule(\"securityGroupRule02\", SecurityGroupRuleArgs.builder()\n            .flow(\"Inbound\")\n            .securityGroupId(securityGroup01.securityGroupId())\n            .rules(SecurityGroupRuleRuleArgs.builder()\n                .fromPortRange(22.0)\n                .toPortRange(22.0)\n                .ipProtocol(\"tcp\")\n                .securityGroupsMembers(SecurityGroupRuleRuleSecurityGroupsMemberArgs.builder()\n                    .accountId(\"012345678910\")\n                    .securityGroupName(\"terraform-security-group-test-02\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  securityGroupRule02:\n    type: outscale:SecurityGroupRule\n    name: security_group_rule02\n    properties:\n      flow: Inbound\n      securityGroupId: ${securityGroup01.securityGroupId}\n      rules:\n        - fromPortRange: '22'\n          toPortRange: '22'\n          ipProtocol: tcp\n          securityGroupsMembers:\n            - accountId: '012345678910'\n              securityGroupName: terraform-security-group-test-02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA security group rule can be imported using the following format: `SecurityGroupId_Flow_IpProtocol_FromPortRange_ToPortRange_IpRange`.\n\nFor example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/securityGroupRule:SecurityGroupRule ImportedRule sg-87654321_outbound_-1_-1_-1_10.0.0.0/16\n```\n\n","properties":{"flow":{"type":"string","description":"The direction of the flow: `Inbound` or `Outbound`. You can specify `Outbound` for Nets only.\n"},"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number. If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"},"ipRange":{"type":"string","description":"The IP range for the security group rule, in CIDR notation (for example, 10.0.0.0/16). If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"},"netId":{"type":"string","description":"The ID of the Net for the security group.\n"},"requestId":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupRuleRule:SecurityGroupRuleRule"},"description":"Information about the security group rule to create. If you specify this parent parameter and its subparameters, you cannot specify the following parent parameters: \u003cspan pulumi-lang-nodejs=\"`fromPortRange`\" pulumi-lang-dotnet=\"`FromPortRange`\" pulumi-lang-go=\"`fromPortRange`\" pulumi-lang-python=\"`from_port_range`\" pulumi-lang-yaml=\"`fromPortRange`\" pulumi-lang-java=\"`fromPortRange`\"\u003e`from_port_range`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipProtocol`\" pulumi-lang-dotnet=\"`IpProtocol`\" pulumi-lang-go=\"`ipProtocol`\" pulumi-lang-python=\"`ip_protocol`\" pulumi-lang-yaml=\"`ipProtocol`\" pulumi-lang-java=\"`ipProtocol`\"\u003e`ip_protocol`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipRange`\" pulumi-lang-dotnet=\"`IpRange`\" pulumi-lang-go=\"`ipRange`\" pulumi-lang-python=\"`ip_range`\" pulumi-lang-yaml=\"`ipRange`\" pulumi-lang-java=\"`ipRange`\"\u003e`ip_range`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`toPortRange`\" pulumi-lang-dotnet=\"`ToPortRange`\" pulumi-lang-go=\"`toPortRange`\" pulumi-lang-python=\"`to_port_range`\" pulumi-lang-yaml=\"`toPortRange`\" pulumi-lang-java=\"`toPortRange`\"\u003e`to_port_range`\u003c/span\u003e.\n"},"securityGroupAccountIdToLink":{"type":"string","description":"The account ID that owns the source or destination security group specified in the \u003cspan pulumi-lang-nodejs=\"`securityGroupNameToLink`\" pulumi-lang-dotnet=\"`SecurityGroupNameToLink`\" pulumi-lang-go=\"`securityGroupNameToLink`\" pulumi-lang-python=\"`security_group_name_to_link`\" pulumi-lang-yaml=\"`securityGroupNameToLink`\" pulumi-lang-java=\"`securityGroupNameToLink`\"\u003e`security_group_name_to_link`\u003c/span\u003e parameter.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group for which you want to create a rule.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"},"securityGroupNameToLink":{"type":"string","description":"The ID of a source or destination security group that you want to link to the security group of the rule.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSecurityGroupRuleTimeouts:SecurityGroupRuleTimeouts"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number. If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"}},"type":"object","required":["flow","netId","requestId","securityGroupId","securityGroupName"],"inputProperties":{"flow":{"type":"string","description":"The direction of the flow: `Inbound` or `Outbound`. You can specify `Outbound` for Nets only.\n"},"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number. If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"},"ipRange":{"type":"string","description":"The IP range for the security group rule, in CIDR notation (for example, 10.0.0.0/16). If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"},"rules":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupRuleRule:SecurityGroupRuleRule"},"description":"Information about the security group rule to create. If you specify this parent parameter and its subparameters, you cannot specify the following parent parameters: \u003cspan pulumi-lang-nodejs=\"`fromPortRange`\" pulumi-lang-dotnet=\"`FromPortRange`\" pulumi-lang-go=\"`fromPortRange`\" pulumi-lang-python=\"`from_port_range`\" pulumi-lang-yaml=\"`fromPortRange`\" pulumi-lang-java=\"`fromPortRange`\"\u003e`from_port_range`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipProtocol`\" pulumi-lang-dotnet=\"`IpProtocol`\" pulumi-lang-go=\"`ipProtocol`\" pulumi-lang-python=\"`ip_protocol`\" pulumi-lang-yaml=\"`ipProtocol`\" pulumi-lang-java=\"`ipProtocol`\"\u003e`ip_protocol`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipRange`\" pulumi-lang-dotnet=\"`IpRange`\" pulumi-lang-go=\"`ipRange`\" pulumi-lang-python=\"`ip_range`\" pulumi-lang-yaml=\"`ipRange`\" pulumi-lang-java=\"`ipRange`\"\u003e`ip_range`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`toPortRange`\" pulumi-lang-dotnet=\"`ToPortRange`\" pulumi-lang-go=\"`toPortRange`\" pulumi-lang-python=\"`to_port_range`\" pulumi-lang-yaml=\"`toPortRange`\" pulumi-lang-java=\"`toPortRange`\"\u003e`to_port_range`\u003c/span\u003e.\n"},"securityGroupAccountIdToLink":{"type":"string","description":"The account ID that owns the source or destination security group specified in the \u003cspan pulumi-lang-nodejs=\"`securityGroupNameToLink`\" pulumi-lang-dotnet=\"`SecurityGroupNameToLink`\" pulumi-lang-go=\"`securityGroupNameToLink`\" pulumi-lang-python=\"`security_group_name_to_link`\" pulumi-lang-yaml=\"`securityGroupNameToLink`\" pulumi-lang-java=\"`securityGroupNameToLink`\"\u003e`security_group_name_to_link`\u003c/span\u003e parameter.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group for which you want to create a rule.\n"},"securityGroupNameToLink":{"type":"string","description":"The ID of a source or destination security group that you want to link to the security group of the rule.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSecurityGroupRuleTimeouts:SecurityGroupRuleTimeouts"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number. If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"}},"requiredInputs":["flow","securityGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityGroupRule resources.\n","properties":{"flow":{"type":"string","description":"The direction of the flow: `Inbound` or `Outbound`. You can specify `Outbound` for Nets only.\n"},"fromPortRange":{"type":"number","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number. If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"},"ipProtocol":{"type":"string","description":"The IP protocol name (\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, or `-1` for all protocols). By default, `-1`. In a Net, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"},"ipRange":{"type":"string","description":"The IP range for the security group rule, in CIDR notation (for example, 10.0.0.0/16). If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"},"netId":{"type":"string","description":"The ID of the Net for the security group.\n"},"requestId":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSecurityGroupRuleRule:SecurityGroupRuleRule"},"description":"Information about the security group rule to create. If you specify this parent parameter and its subparameters, you cannot specify the following parent parameters: \u003cspan pulumi-lang-nodejs=\"`fromPortRange`\" pulumi-lang-dotnet=\"`FromPortRange`\" pulumi-lang-go=\"`fromPortRange`\" pulumi-lang-python=\"`from_port_range`\" pulumi-lang-yaml=\"`fromPortRange`\" pulumi-lang-java=\"`fromPortRange`\"\u003e`from_port_range`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipProtocol`\" pulumi-lang-dotnet=\"`IpProtocol`\" pulumi-lang-go=\"`ipProtocol`\" pulumi-lang-python=\"`ip_protocol`\" pulumi-lang-yaml=\"`ipProtocol`\" pulumi-lang-java=\"`ipProtocol`\"\u003e`ip_protocol`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipRange`\" pulumi-lang-dotnet=\"`IpRange`\" pulumi-lang-go=\"`ipRange`\" pulumi-lang-python=\"`ip_range`\" pulumi-lang-yaml=\"`ipRange`\" pulumi-lang-java=\"`ipRange`\"\u003e`ip_range`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`toPortRange`\" pulumi-lang-dotnet=\"`ToPortRange`\" pulumi-lang-go=\"`toPortRange`\" pulumi-lang-python=\"`to_port_range`\" pulumi-lang-yaml=\"`toPortRange`\" pulumi-lang-java=\"`toPortRange`\"\u003e`to_port_range`\u003c/span\u003e.\n"},"securityGroupAccountIdToLink":{"type":"string","description":"The account ID that owns the source or destination security group specified in the \u003cspan pulumi-lang-nodejs=\"`securityGroupNameToLink`\" pulumi-lang-dotnet=\"`SecurityGroupNameToLink`\" pulumi-lang-go=\"`securityGroupNameToLink`\" pulumi-lang-python=\"`security_group_name_to_link`\" pulumi-lang-yaml=\"`securityGroupNameToLink`\" pulumi-lang-java=\"`securityGroupNameToLink`\"\u003e`security_group_name_to_link`\u003c/span\u003e parameter.\n"},"securityGroupId":{"type":"string","description":"The ID of the security group for which you want to create a rule.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"},"securityGroupNameToLink":{"type":"string","description":"The ID of a source or destination security group that you want to link to the security group of the rule.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSecurityGroupRuleTimeouts:SecurityGroupRuleTimeouts"},"toPortRange":{"type":"number","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number. If you specify this parameter, you cannot specify the \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e parameter and its subparameters.\n"}},"type":"object"}},"outscale:index/serverCertificate:ServerCertificate":{"description":"Manages a server certificate.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Server-Certificates-in-EIM.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-servercertificate).\n\n## Import\n\nA server certificate can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/serverCertificate:ServerCertificate ImportedServerCertificate 0123456789\n```\n\n","properties":{"body":{"type":"string","description":"The PEM-encoded X509 certificate.\n"},"chain":{"type":"string","description":"The PEM-encoded intermediate certification authorities.\n"},"dryRun":{"type":"string"},"expirationDate":{"type":"string","description":"The date on which the server certificate expires.\n"},"name":{"type":"string","description":"A unique name for the certificate. Constraints: 1-128 alphanumeric characters, pluses (`+`), equals (`=`), commas (`,`), periods (`.`), at signs (`@`), minuses (`-`), or underscores (`_`).\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns).\n"},"path":{"type":"string","description":"The path to the server certificate, set to a slash (`/`) if not specified.\n"},"privateKey":{"type":"string","description":"The PEM-encoded private key matching the certificate.\n"},"requestId":{"type":"string"},"serverCertificateId":{"type":"string","description":"The ID of the server certificate.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FServerCertificateTimeouts:ServerCertificateTimeouts"},"uploadDate":{"type":"string","description":"The date on which the server certificate has been uploaded.\n"}},"type":"object","required":["expirationDate","name","orn","path","requestId","serverCertificateId","uploadDate"],"inputProperties":{"body":{"type":"string","description":"The PEM-encoded X509 certificate.\n"},"chain":{"type":"string","description":"The PEM-encoded intermediate certification authorities.\n"},"dryRun":{"type":"string"},"name":{"type":"string","description":"A unique name for the certificate. Constraints: 1-128 alphanumeric characters, pluses (`+`), equals (`=`), commas (`,`), periods (`.`), at signs (`@`), minuses (`-`), or underscores (`_`).\n"},"path":{"type":"string","description":"The path to the server certificate, set to a slash (`/`) if not specified.\n"},"privateKey":{"type":"string","description":"The PEM-encoded private key matching the certificate.\n"},"serverCertificateId":{"type":"string","description":"The ID of the server certificate.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FServerCertificateTimeouts:ServerCertificateTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering ServerCertificate resources.\n","properties":{"body":{"type":"string","description":"The PEM-encoded X509 certificate.\n"},"chain":{"type":"string","description":"The PEM-encoded intermediate certification authorities.\n"},"dryRun":{"type":"string"},"expirationDate":{"type":"string","description":"The date on which the server certificate expires.\n"},"name":{"type":"string","description":"A unique name for the certificate. Constraints: 1-128 alphanumeric characters, pluses (`+`), equals (`=`), commas (`,`), periods (`.`), at signs (`@`), minuses (`-`), or underscores (`_`).\n"},"orn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns).\n"},"path":{"type":"string","description":"The path to the server certificate, set to a slash (`/`) if not specified.\n"},"privateKey":{"type":"string","description":"The PEM-encoded private key matching the certificate.\n"},"requestId":{"type":"string"},"serverCertificateId":{"type":"string","description":"The ID of the server certificate.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FServerCertificateTimeouts:ServerCertificateTimeouts"},"uploadDate":{"type":"string","description":"The date on which the server certificate has been uploaded.\n"}},"type":"object"}},"outscale:index/snapshot:Snapshot":{"description":"Manages a snapshot.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Snapshots.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-snapshot).\n\n## Example Usage\n\n### Required resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n    subregionName: `${region}a`,\n    size: 40,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume01 = outscale.Volume(\"volume01\",\n    subregion_name=f\"{region}a\",\n    size=40)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume01 = new Outscale.Volume(\"volume01\", new()\n    {\n        SubregionName = $\"{region}a\",\n        Size = 40,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVolume(ctx, \"volume01\", \u0026outscale.VolumeArgs{\n\t\t\tSubregionName: pulumi.Sprintf(\"%va\", region),\n\t\t\tSize:          pulumi.Float64(40),\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.outscale.Volume;\nimport com.pulumi.outscale.VolumeArgs;\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        var volume01 = new Volume(\"volume01\", VolumeArgs.builder()\n            .subregionName(String.format(\"%sa\", region))\n            .size(40.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume01:\n    type: outscale:Volume\n    properties:\n      subregionName: ${region}a\n      size: 40\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshot01 = new outscale.Snapshot(\"snapshot01\", {volumeId: volume01.volumeId});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot01 = outscale.Snapshot(\"snapshot01\", volume_id=volume01[\"volumeId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshot01 = new Outscale.Snapshot(\"snapshot01\", new()\n    {\n        VolumeId = volume01.VolumeId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSnapshot(ctx, \"snapshot01\", \u0026outscale.SnapshotArgs{\n\t\t\tVolumeId: pulumi.Any(volume01.VolumeId),\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.outscale.Snapshot;\nimport com.pulumi.outscale.SnapshotArgs;\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        var snapshot01 = new Snapshot(\"snapshot01\", SnapshotArgs.builder()\n            .volumeId(volume01.volumeId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  snapshot01:\n    type: outscale:Snapshot\n    properties:\n      volumeId: ${volume01.volumeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Copy a snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshot02 = new outscale.Snapshot(\"snapshot02\", {\n    description: \"Terraform snapshot copy\",\n    sourceSnapshotId: \"snap-12345678\",\n    sourceRegionName: \"eu-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot02 = outscale.Snapshot(\"snapshot02\",\n    description=\"Terraform snapshot copy\",\n    source_snapshot_id=\"snap-12345678\",\n    source_region_name=\"eu-west-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshot02 = new Outscale.Snapshot(\"snapshot02\", new()\n    {\n        Description = \"Terraform snapshot copy\",\n        SourceSnapshotId = \"snap-12345678\",\n        SourceRegionName = \"eu-west-2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSnapshot(ctx, \"snapshot02\", \u0026outscale.SnapshotArgs{\n\t\t\tDescription:      pulumi.String(\"Terraform snapshot copy\"),\n\t\t\tSourceSnapshotId: pulumi.String(\"snap-12345678\"),\n\t\t\tSourceRegionName: pulumi.String(\"eu-west-2\"),\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.outscale.Snapshot;\nimport com.pulumi.outscale.SnapshotArgs;\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        var snapshot02 = new Snapshot(\"snapshot02\", SnapshotArgs.builder()\n            .description(\"Terraform snapshot copy\")\n            .sourceSnapshotId(\"snap-12345678\")\n            .sourceRegionName(\"eu-west-2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  snapshot02:\n    type: outscale:Snapshot\n    properties:\n      description: Terraform snapshot copy\n      sourceSnapshotId: snap-12345678\n      sourceRegionName: eu-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA snapshot can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/snapshot:Snapshot ImportedSnapshot snap-12345678\n```\n\n","properties":{"accountAlias":{"type":"string","description":"The account alias of the owner of the snapshot.\n"},"accountId":{"type":"string","description":"The account ID of the owner of the snapshot.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the snapshot was created.\n"},"description":{"type":"string","description":"A description for the snapshot.\n"},"fileLocation":{"type":"string","description":"**(when importing from a bucket)** The pre-signed URL of the snapshot you want to import. For more information, see [Creating a Pre-signed URL](https://docs.outscale.com/en/userguide/Creating-a-Pre-Signed-URL.html).\n"},"outscaleSnapshotId":{"type":"string"},"permissionsToCreateVolumes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotPermissionsToCreateVolume:SnapshotPermissionsToCreateVolume"},"description":"Permissions for the resource.\n"},"progress":{"type":"number","description":"The progress of the snapshot, as a percentage.\n"},"requestId":{"type":"string"},"snapshotId":{"type":"string","description":"The ID of the snapshot.\n"},"snapshotSize":{"type":"number","description":"**(when importing from a bucket)** The size of the snapshot you want to create in your account, in bytes. This size must be greater than or equal to the size of the original, uncompressed snapshot.\n"},"sourceRegionName":{"type":"string","description":"**(when copying a snapshot)** The name of the source Region, which must be the same as the Region of your account.\n"},"sourceSnapshotId":{"type":"string","description":"**(when copying a snapshot)** The ID of the snapshot you want to copy.\n"},"state":{"type":"string","description":"The state of the snapshot (`in-queue` \\| \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotTag:SnapshotTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSnapshotTimeouts:SnapshotTimeouts"},"volumeId":{"type":"string","description":"**(when creating from a volume)** The ID of the volume you want to create a snapshot of.\n"},"volumeSize":{"type":"number","description":"The size of the volume used to create the snapshot, in gibibytes (GiB).\n"}},"type":"object","required":["accountAlias","accountId","creationDate","description","fileLocation","outscaleSnapshotId","permissionsToCreateVolumes","progress","requestId","snapshotId","snapshotSize","sourceRegionName","sourceSnapshotId","state","volumeId","volumeSize"],"inputProperties":{"description":{"type":"string","description":"A description for the snapshot.\n"},"fileLocation":{"type":"string","description":"**(when importing from a bucket)** The pre-signed URL of the snapshot you want to import. For more information, see [Creating a Pre-signed URL](https://docs.outscale.com/en/userguide/Creating-a-Pre-Signed-URL.html).\n"},"outscaleSnapshotId":{"type":"string"},"snapshotSize":{"type":"number","description":"**(when importing from a bucket)** The size of the snapshot you want to create in your account, in bytes. This size must be greater than or equal to the size of the original, uncompressed snapshot.\n"},"sourceRegionName":{"type":"string","description":"**(when copying a snapshot)** The name of the source Region, which must be the same as the Region of your account.\n"},"sourceSnapshotId":{"type":"string","description":"**(when copying a snapshot)** The ID of the snapshot you want to copy.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotTag:SnapshotTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSnapshotTimeouts:SnapshotTimeouts"},"volumeId":{"type":"string","description":"**(when creating from a volume)** The ID of the volume you want to create a snapshot of.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Snapshot resources.\n","properties":{"accountAlias":{"type":"string","description":"The account alias of the owner of the snapshot.\n"},"accountId":{"type":"string","description":"The account ID of the owner of the snapshot.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the snapshot was created.\n"},"description":{"type":"string","description":"A description for the snapshot.\n"},"fileLocation":{"type":"string","description":"**(when importing from a bucket)** The pre-signed URL of the snapshot you want to import. For more information, see [Creating a Pre-signed URL](https://docs.outscale.com/en/userguide/Creating-a-Pre-Signed-URL.html).\n"},"outscaleSnapshotId":{"type":"string"},"permissionsToCreateVolumes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotPermissionsToCreateVolume:SnapshotPermissionsToCreateVolume"},"description":"Permissions for the resource.\n"},"progress":{"type":"number","description":"The progress of the snapshot, as a percentage.\n"},"requestId":{"type":"string"},"snapshotId":{"type":"string","description":"The ID of the snapshot.\n"},"snapshotSize":{"type":"number","description":"**(when importing from a bucket)** The size of the snapshot you want to create in your account, in bytes. This size must be greater than or equal to the size of the original, uncompressed snapshot.\n"},"sourceRegionName":{"type":"string","description":"**(when copying a snapshot)** The name of the source Region, which must be the same as the Region of your account.\n"},"sourceSnapshotId":{"type":"string","description":"**(when copying a snapshot)** The ID of the snapshot you want to copy.\n"},"state":{"type":"string","description":"The state of the snapshot (`in-queue` \\| \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotTag:SnapshotTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSnapshotTimeouts:SnapshotTimeouts"},"volumeId":{"type":"string","description":"**(when creating from a volume)** The ID of the volume you want to create a snapshot of.\n"},"volumeSize":{"type":"number","description":"The size of the volume used to create the snapshot, in gibibytes (GiB).\n"}},"type":"object"}},"outscale:index/snapshotAttributes:SnapshotAttributes":{"description":"Manages snapshot attributes.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Snapshots.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#updatesnapshot).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n    subregionName: \"eu-west-2a\",\n    size: 40,\n});\nconst snapshot01 = new outscale.Snapshot(\"snapshot01\", {\n    volumeId: volume01.volumeId,\n    tags: [{\n        key: \"name\",\n        value: \"terraform-snapshot-test\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume01 = outscale.Volume(\"volume01\",\n    subregion_name=\"eu-west-2a\",\n    size=40)\nsnapshot01 = outscale.Snapshot(\"snapshot01\",\n    volume_id=volume01.volume_id,\n    tags=[{\n        \"key\": \"name\",\n        \"value\": \"terraform-snapshot-test\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume01 = new Outscale.Volume(\"volume01\", new()\n    {\n        SubregionName = \"eu-west-2a\",\n        Size = 40,\n    });\n\n    var snapshot01 = new Outscale.Snapshot(\"snapshot01\", new()\n    {\n        VolumeId = volume01.VolumeId,\n        Tags = new[]\n        {\n            new Outscale.Inputs.SnapshotTagArgs\n            {\n                Key = \"name\",\n                Value = \"terraform-snapshot-test\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvolume01, err := outscale.NewVolume(ctx, \"volume01\", \u0026outscale.VolumeArgs{\n\t\t\tSubregionName: pulumi.String(\"eu-west-2a\"),\n\t\t\tSize:          pulumi.Float64(40),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewSnapshot(ctx, \"snapshot01\", \u0026outscale.SnapshotArgs{\n\t\t\tVolumeId: volume01.VolumeId,\n\t\t\tTags: outscale.SnapshotTagArray{\n\t\t\t\t\u0026outscale.SnapshotTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-snapshot-test\"),\n\t\t\t\t},\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.outscale.Volume;\nimport com.pulumi.outscale.VolumeArgs;\nimport com.pulumi.outscale.Snapshot;\nimport com.pulumi.outscale.SnapshotArgs;\nimport com.pulumi.outscale.inputs.SnapshotTagArgs;\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        var volume01 = new Volume(\"volume01\", VolumeArgs.builder()\n            .subregionName(\"eu-west-2a\")\n            .size(40.0)\n            .build());\n\n        var snapshot01 = new Snapshot(\"snapshot01\", SnapshotArgs.builder()\n            .volumeId(volume01.volumeId())\n            .tags(SnapshotTagArgs.builder()\n                .key(\"name\")\n                .value(\"terraform-snapshot-test\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume01:\n    type: outscale:Volume\n    properties:\n      subregionName: eu-west-2a\n      size: 40\n  snapshot01:\n    type: outscale:Snapshot\n    properties:\n      volumeId: ${volume01.volumeId}\n      tags:\n        - key: name\n          value: terraform-snapshot-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshotAttributes01 = new outscale.SnapshotAttributes(\"snapshot_attributes01\", {\n    snapshotId: snapshot01.snapshotId,\n    permissionsToCreateVolumeAdditions: {\n        accountIds: [\"012345678910\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot_attributes01 = outscale.SnapshotAttributes(\"snapshot_attributes01\",\n    snapshot_id=snapshot01[\"snapshotId\"],\n    permissions_to_create_volume_additions={\n        \"account_ids\": [\"012345678910\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshotAttributes01 = new Outscale.SnapshotAttributes(\"snapshot_attributes01\", new()\n    {\n        SnapshotId = snapshot01.SnapshotId,\n        PermissionsToCreateVolumeAdditions = new Outscale.Inputs.SnapshotAttributesPermissionsToCreateVolumeAdditionsArgs\n        {\n            AccountIds = new[]\n            {\n                \"012345678910\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSnapshotAttributes(ctx, \"snapshot_attributes01\", \u0026outscale.SnapshotAttributesArgs{\n\t\t\tSnapshotId: pulumi.Any(snapshot01.SnapshotId),\n\t\t\tPermissionsToCreateVolumeAdditions: \u0026outscale.SnapshotAttributesPermissionsToCreateVolumeAdditionsArgs{\n\t\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"012345678910\"),\n\t\t\t\t},\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.outscale.SnapshotAttributes;\nimport com.pulumi.outscale.SnapshotAttributesArgs;\nimport com.pulumi.outscale.inputs.SnapshotAttributesPermissionsToCreateVolumeAdditionsArgs;\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        var snapshotAttributes01 = new SnapshotAttributes(\"snapshotAttributes01\", SnapshotAttributesArgs.builder()\n            .snapshotId(snapshot01.snapshotId())\n            .permissionsToCreateVolumeAdditions(SnapshotAttributesPermissionsToCreateVolumeAdditionsArgs.builder()\n                .accountIds(\"012345678910\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  snapshotAttributes01:\n    type: outscale:SnapshotAttributes\n    name: snapshot_attributes01\n    properties:\n      snapshotId: ${snapshot01.snapshotId}\n      permissionsToCreateVolumeAdditions:\n        accountIds:\n          - '012345678910'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Remove permissions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshotAttributes02 = new outscale.SnapshotAttributes(\"snapshot_attributes02\", {\n    snapshotId: snapshot01.snapshotId,\n    permissionsToCreateVolumeRemovals: [{\n        accountIds: [\"012345678910\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot_attributes02 = outscale.SnapshotAttributes(\"snapshot_attributes02\",\n    snapshot_id=snapshot01[\"snapshotId\"],\n    permissions_to_create_volume_removals=[{\n        \"account_ids\": [\"012345678910\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshotAttributes02 = new Outscale.SnapshotAttributes(\"snapshot_attributes02\", new()\n    {\n        SnapshotId = snapshot01.SnapshotId,\n        PermissionsToCreateVolumeRemovals = new[]\n        {\n            new Outscale.Inputs.SnapshotAttributesPermissionsToCreateVolumeRemovalArgs\n            {\n                AccountIds = new[]\n                {\n                    \"012345678910\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSnapshotAttributes(ctx, \"snapshot_attributes02\", \u0026outscale.SnapshotAttributesArgs{\n\t\t\tSnapshotId: pulumi.Any(snapshot01.SnapshotId),\n\t\t\tPermissionsToCreateVolumeRemovals: outscale.SnapshotAttributesPermissionsToCreateVolumeRemovalArray{\n\t\t\t\t\u0026outscale.SnapshotAttributesPermissionsToCreateVolumeRemovalArgs{\n\t\t\t\t\tAccountIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"012345678910\"),\n\t\t\t\t\t},\n\t\t\t\t},\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.outscale.SnapshotAttributes;\nimport com.pulumi.outscale.SnapshotAttributesArgs;\nimport com.pulumi.outscale.inputs.SnapshotAttributesPermissionsToCreateVolumeRemovalArgs;\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        var snapshotAttributes02 = new SnapshotAttributes(\"snapshotAttributes02\", SnapshotAttributesArgs.builder()\n            .snapshotId(snapshot01.snapshotId())\n            .permissionsToCreateVolumeRemovals(SnapshotAttributesPermissionsToCreateVolumeRemovalArgs.builder()\n                .accountIds(\"012345678910\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  snapshotAttributes02:\n    type: outscale:SnapshotAttributes\n    name: snapshot_attributes02\n    properties:\n      snapshotId: ${snapshot01.snapshotId}\n      permissionsToCreateVolumeRemovals:\n        - accountIds:\n            - '012345678910'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accountId":{"type":"string","description":"The account ID of the owner of the snapshot.\n"},"permissionsToCreateVolumeAdditions":{"$ref":"#/types/outscale:index%2FSnapshotAttributesPermissionsToCreateVolumeAdditions:SnapshotAttributesPermissionsToCreateVolumeAdditions","description":"Information about the users to whom you want to give permissions for the resource.\n"},"permissionsToCreateVolumeRemovals":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotAttributesPermissionsToCreateVolumeRemoval:SnapshotAttributesPermissionsToCreateVolumeRemoval"},"description":"Information about the users from whom you want to remove permissions for the resource.\n"},"requestId":{"type":"string"},"snapshotAttributesId":{"type":"string"},"snapshotId":{"type":"string","description":"The ID of the snapshot.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSnapshotAttributesTimeouts:SnapshotAttributesTimeouts"}},"type":"object","required":["accountId","requestId","snapshotAttributesId","snapshotId"],"inputProperties":{"permissionsToCreateVolumeAdditions":{"$ref":"#/types/outscale:index%2FSnapshotAttributesPermissionsToCreateVolumeAdditions:SnapshotAttributesPermissionsToCreateVolumeAdditions","description":"Information about the users to whom you want to give permissions for the resource.\n"},"permissionsToCreateVolumeRemovals":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotAttributesPermissionsToCreateVolumeRemoval:SnapshotAttributesPermissionsToCreateVolumeRemoval"},"description":"Information about the users from whom you want to remove permissions for the resource.\n"},"snapshotAttributesId":{"type":"string"},"snapshotId":{"type":"string","description":"The ID of the snapshot.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSnapshotAttributesTimeouts:SnapshotAttributesTimeouts"}},"requiredInputs":["snapshotId"],"stateInputs":{"description":"Input properties used for looking up and filtering SnapshotAttributes resources.\n","properties":{"accountId":{"type":"string","description":"The account ID of the owner of the snapshot.\n"},"permissionsToCreateVolumeAdditions":{"$ref":"#/types/outscale:index%2FSnapshotAttributesPermissionsToCreateVolumeAdditions:SnapshotAttributesPermissionsToCreateVolumeAdditions","description":"Information about the users to whom you want to give permissions for the resource.\n"},"permissionsToCreateVolumeRemovals":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotAttributesPermissionsToCreateVolumeRemoval:SnapshotAttributesPermissionsToCreateVolumeRemoval"},"description":"Information about the users from whom you want to remove permissions for the resource.\n"},"requestId":{"type":"string"},"snapshotAttributesId":{"type":"string"},"snapshotId":{"type":"string","description":"The ID of the snapshot.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSnapshotAttributesTimeouts:SnapshotAttributesTimeouts"}},"type":"object"}},"outscale:index/snapshotExportTask:SnapshotExportTask":{"description":"Manages a snapshot export task.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Snapshots.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-snapshot).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n    subregionName: `${region}a`,\n    size: 40,\n});\nconst snapshot01 = new outscale.Snapshot(\"snapshot01\", {volumeId: volume01.volumeId});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume01 = outscale.Volume(\"volume01\",\n    subregion_name=f\"{region}a\",\n    size=40)\nsnapshot01 = outscale.Snapshot(\"snapshot01\", volume_id=volume01.volume_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume01 = new Outscale.Volume(\"volume01\", new()\n    {\n        SubregionName = $\"{region}a\",\n        Size = 40,\n    });\n\n    var snapshot01 = new Outscale.Snapshot(\"snapshot01\", new()\n    {\n        VolumeId = volume01.VolumeId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvolume01, err := outscale.NewVolume(ctx, \"volume01\", \u0026outscale.VolumeArgs{\n\t\t\tSubregionName: pulumi.Sprintf(\"%va\", region),\n\t\t\tSize:          pulumi.Float64(40),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewSnapshot(ctx, \"snapshot01\", \u0026outscale.SnapshotArgs{\n\t\t\tVolumeId: volume01.VolumeId,\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.outscale.Volume;\nimport com.pulumi.outscale.VolumeArgs;\nimport com.pulumi.outscale.Snapshot;\nimport com.pulumi.outscale.SnapshotArgs;\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        var volume01 = new Volume(\"volume01\", VolumeArgs.builder()\n            .subregionName(String.format(\"%sa\", region))\n            .size(40.0)\n            .build());\n\n        var snapshot01 = new Snapshot(\"snapshot01\", SnapshotArgs.builder()\n            .volumeId(volume01.volumeId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume01:\n    type: outscale:Volume\n    properties:\n      subregionName: ${region}a\n      size: 40\n  snapshot01:\n    type: outscale:Snapshot\n    properties:\n      volumeId: ${volume01.volumeId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a snapshot export task\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshotExportTask01 = new outscale.SnapshotExportTask(\"snapshot_export_task01\", {\n    snapshotId: snapshot01.snapshotId,\n    osuExports: [{\n        diskImageFormat: \"qcow2\",\n        osuBucket: \"terraform-bucket\",\n        osuPrefix: \"new-export\",\n        osuApiKeys: [{\n            apiKeyId: accessKeyId,\n            secretKey: secretKeyId,\n        }],\n    }],\n    tags: [{\n        key: \"Name\",\n        value: \"terraform-snapshot-export-task\",\n    }],\n    waitForCompletion: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot_export_task01 = outscale.SnapshotExportTask(\"snapshot_export_task01\",\n    snapshot_id=snapshot01[\"snapshotId\"],\n    osu_exports=[{\n        \"disk_image_format\": \"qcow2\",\n        \"osu_bucket\": \"terraform-bucket\",\n        \"osu_prefix\": \"new-export\",\n        \"osu_api_keys\": [{\n            \"api_key_id\": access_key_id,\n            \"secret_key\": secret_key_id,\n        }],\n    }],\n    tags=[{\n        \"key\": \"Name\",\n        \"value\": \"terraform-snapshot-export-task\",\n    }],\n    wait_for_completion=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshotExportTask01 = new Outscale.SnapshotExportTask(\"snapshot_export_task01\", new()\n    {\n        SnapshotId = snapshot01.SnapshotId,\n        OsuExports = new[]\n        {\n            new Outscale.Inputs.SnapshotExportTaskOsuExportArgs\n            {\n                DiskImageFormat = \"qcow2\",\n                OsuBucket = \"terraform-bucket\",\n                OsuPrefix = \"new-export\",\n                OsuApiKeys = new[]\n                {\n                    new Outscale.Inputs.SnapshotExportTaskOsuExportOsuApiKeyArgs\n                    {\n                        ApiKeyId = accessKeyId,\n                        SecretKey = secretKeyId,\n                    },\n                },\n            },\n        },\n        Tags = new[]\n        {\n            new Outscale.Inputs.SnapshotExportTaskTagArgs\n            {\n                Key = \"Name\",\n                Value = \"terraform-snapshot-export-task\",\n            },\n        },\n        WaitForCompletion = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSnapshotExportTask(ctx, \"snapshot_export_task01\", \u0026outscale.SnapshotExportTaskArgs{\n\t\t\tSnapshotId: pulumi.Any(snapshot01.SnapshotId),\n\t\t\tOsuExports: outscale.SnapshotExportTaskOsuExportArray{\n\t\t\t\t\u0026outscale.SnapshotExportTaskOsuExportArgs{\n\t\t\t\t\tDiskImageFormat: pulumi.String(\"qcow2\"),\n\t\t\t\t\tOsuBucket:       pulumi.String(\"terraform-bucket\"),\n\t\t\t\t\tOsuPrefix:       pulumi.String(\"new-export\"),\n\t\t\t\t\tOsuApiKeys: outscale.SnapshotExportTaskOsuExportOsuApiKeyArray{\n\t\t\t\t\t\t\u0026outscale.SnapshotExportTaskOsuExportOsuApiKeyArgs{\n\t\t\t\t\t\t\tApiKeyId:  pulumi.Any(accessKeyId),\n\t\t\t\t\t\t\tSecretKey: pulumi.Any(secretKeyId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: outscale.SnapshotExportTaskTagArray{\n\t\t\t\t\u0026outscale.SnapshotExportTaskTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-snapshot-export-task\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWaitForCompletion: pulumi.Bool(false),\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.outscale.SnapshotExportTask;\nimport com.pulumi.outscale.SnapshotExportTaskArgs;\nimport com.pulumi.outscale.inputs.SnapshotExportTaskOsuExportArgs;\nimport com.pulumi.outscale.inputs.SnapshotExportTaskTagArgs;\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        var snapshotExportTask01 = new SnapshotExportTask(\"snapshotExportTask01\", SnapshotExportTaskArgs.builder()\n            .snapshotId(snapshot01.snapshotId())\n            .osuExports(SnapshotExportTaskOsuExportArgs.builder()\n                .diskImageFormat(\"qcow2\")\n                .osuBucket(\"terraform-bucket\")\n                .osuPrefix(\"new-export\")\n                .osuApiKeys(SnapshotExportTaskOsuExportOsuApiKeyArgs.builder()\n                    .apiKeyId(accessKeyId)\n                    .secretKey(secretKeyId)\n                    .build())\n                .build())\n            .tags(SnapshotExportTaskTagArgs.builder()\n                .key(\"Name\")\n                .value(\"terraform-snapshot-export-task\")\n                .build())\n            .waitForCompletion(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  snapshotExportTask01:\n    type: outscale:SnapshotExportTask\n    name: snapshot_export_task01\n    properties:\n      snapshotId: ${snapshot01.snapshotId}\n      osuExports:\n        - diskImageFormat: qcow2\n          osuBucket: terraform-bucket\n          osuPrefix: new-export\n          osuApiKeys:\n            - apiKeyId: ${accessKeyId}\n              secretKey: ${secretKeyId}\n      tags:\n        - key: Name\n          value: terraform-snapshot-export-task\n      waitForCompletion: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"comment":{"type":"string","description":"If the snapshot export task fails, an error message appears.\n"},"osuExports":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskOsuExport:SnapshotExportTaskOsuExport"},"description":"Information about the OOS export task to create.\n"},"progress":{"type":"number","description":"The progress of the snapshot export task, as a percentage.\n"},"requestId":{"type":"string"},"snapshotExportTaskId":{"type":"string"},"snapshotId":{"type":"string","description":"The ID of the snapshot to export.\n"},"state":{"type":"string","description":"The state of the snapshot export task (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskTag:SnapshotExportTaskTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"taskId":{"type":"string","description":"The ID of the snapshot export task.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskTimeouts:SnapshotExportTaskTimeouts"},"waitForCompletion":{"type":"boolean","description":"By default or if set to true, the resource is returned only after the export task is completed. If false, the resource returns immediately without waiting for the export task to complete.\n"}},"type":"object","required":["comment","osuExports","progress","requestId","snapshotExportTaskId","snapshotId","state","taskId"],"inputProperties":{"osuExports":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskOsuExport:SnapshotExportTaskOsuExport"},"description":"Information about the OOS export task to create.\n"},"snapshotExportTaskId":{"type":"string"},"snapshotId":{"type":"string","description":"The ID of the snapshot to export.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskTag:SnapshotExportTaskTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskTimeouts:SnapshotExportTaskTimeouts"},"waitForCompletion":{"type":"boolean","description":"By default or if set to true, the resource is returned only after the export task is completed. If false, the resource returns immediately without waiting for the export task to complete.\n"}},"requiredInputs":["osuExports","snapshotId"],"stateInputs":{"description":"Input properties used for looking up and filtering SnapshotExportTask resources.\n","properties":{"comment":{"type":"string","description":"If the snapshot export task fails, an error message appears.\n"},"osuExports":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskOsuExport:SnapshotExportTaskOsuExport"},"description":"Information about the OOS export task to create.\n"},"progress":{"type":"number","description":"The progress of the snapshot export task, as a percentage.\n"},"requestId":{"type":"string"},"snapshotExportTaskId":{"type":"string"},"snapshotId":{"type":"string","description":"The ID of the snapshot to export.\n"},"state":{"type":"string","description":"The state of the snapshot export task (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskTag:SnapshotExportTaskTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"taskId":{"type":"string","description":"The ID of the snapshot export task.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSnapshotExportTaskTimeouts:SnapshotExportTaskTimeouts"},"waitForCompletion":{"type":"boolean","description":"By default or if set to true, the resource is returned only after the export task is completed. If false, the resource returns immediately without waiting for the export task to complete.\n"}},"type":"object"}},"outscale:index/subnet:Subnet":{"description":"Manages a Subnet.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Nets.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-subnet).\n\n## Example Usage\n\n### Required resource\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\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.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\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        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a subnet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n    netId: net01.netId,\n    ipRange: \"10.0.0.0/18\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsubnet01 = outscale.Subnet(\"subnet01\",\n    net_id=net01[\"netId\"],\n    ip_range=\"10.0.0.0/18\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n    {\n        NetId = net01.NetId,\n        IpRange = \"10.0.0.0/18\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewSubnet(ctx, \"subnet01\", \u0026outscale.SubnetArgs{\n\t\t\tNetId:   pulumi.Any(net01.NetId),\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/18\"),\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.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\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        var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder()\n            .netId(net01.netId())\n            .ipRange(\"10.0.0.0/18\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subnet01:\n    type: outscale:Subnet\n    properties:\n      netId: ${net01.netId}\n      ipRange: 10.0.0.0/18\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA subnet can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/subnet:Subnet ImportedSubnet subnet-12345678\n```\n\n","properties":{"availableIpsCount":{"type":"number","description":"The number of available IPs in the Subnets.\n"},"ipRange":{"type":"string","description":"The IP range in the Subnet, in CIDR notation (for example, `10.0.0.0/16`).\u003cbr /\u003e\nThe IP range of the Subnet can be either the same as the Net one if you create only a single Subnet in this Net, or a subset of the Net one. In case of several Subnets in a Net, their IP ranges must not overlap. The smallest Subnet you can create uses a /29 netmask (eight IPs). For more information, see [About Nets](https://docs.outscale.com/en/userguide/About-Nets.html).\n"},"mapPublicIpOnLaunch":{"type":"boolean","description":"If true, a public IP is assigned to the network interface cards (NICs) created in the specified Subnet.\n"},"netId":{"type":"string","description":"The ID of the Net for which you want to create a Subnet.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the Subnet (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet.\n"},"subregionName":{"type":"string","description":"The name of the Subregion in which you want to create the Subnet.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSubnetTag:SubnetTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSubnetTimeouts:SubnetTimeouts"}},"type":"object","required":["availableIpsCount","ipRange","mapPublicIpOnLaunch","netId","requestId","state","subnetId","subregionName"],"inputProperties":{"ipRange":{"type":"string","description":"The IP range in the Subnet, in CIDR notation (for example, `10.0.0.0/16`).\u003cbr /\u003e\nThe IP range of the Subnet can be either the same as the Net one if you create only a single Subnet in this Net, or a subset of the Net one. In case of several Subnets in a Net, their IP ranges must not overlap. The smallest Subnet you can create uses a /29 netmask (eight IPs). For more information, see [About Nets](https://docs.outscale.com/en/userguide/About-Nets.html).\n"},"mapPublicIpOnLaunch":{"type":"boolean","description":"If true, a public IP is assigned to the network interface cards (NICs) created in the specified Subnet.\n"},"netId":{"type":"string","description":"The ID of the Net for which you want to create a Subnet.\n"},"subregionName":{"type":"string","description":"The name of the Subregion in which you want to create the Subnet.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSubnetTag:SubnetTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSubnetTimeouts:SubnetTimeouts"}},"requiredInputs":["ipRange","netId"],"stateInputs":{"description":"Input properties used for looking up and filtering Subnet resources.\n","properties":{"availableIpsCount":{"type":"number","description":"The number of available IPs in the Subnets.\n"},"ipRange":{"type":"string","description":"The IP range in the Subnet, in CIDR notation (for example, `10.0.0.0/16`).\u003cbr /\u003e\nThe IP range of the Subnet can be either the same as the Net one if you create only a single Subnet in this Net, or a subset of the Net one. In case of several Subnets in a Net, their IP ranges must not overlap. The smallest Subnet you can create uses a /29 netmask (eight IPs). For more information, see [About Nets](https://docs.outscale.com/en/userguide/About-Nets.html).\n"},"mapPublicIpOnLaunch":{"type":"boolean","description":"If true, a public IP is assigned to the network interface cards (NICs) created in the specified Subnet.\n"},"netId":{"type":"string","description":"The ID of the Net for which you want to create a Subnet.\n"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the Subnet (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"subnetId":{"type":"string","description":"The ID of the Subnet.\n"},"subregionName":{"type":"string","description":"The name of the Subregion in which you want to create the Subnet.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FSubnetTag:SubnetTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FSubnetTimeouts:SubnetTimeouts"}},"type":"object"}},"outscale:index/tag:Tag":{"properties":{"requestId":{"type":"string"},"resourceIds":{"type":"array","items":{"type":"string"}},"tag":{"type":"array","items":{"$ref":"#/types/outscale:index%2FTagTag:TagTag"}},"tagId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FTagTag:TagTag"}},"timeouts":{"$ref":"#/types/outscale:index%2FTagTimeouts:TagTimeouts"}},"type":"object","required":["requestId","tagId","tags"],"inputProperties":{"resourceIds":{"type":"array","items":{"type":"string"}},"tag":{"type":"array","items":{"$ref":"#/types/outscale:index%2FTagTag:TagTag"}},"tagId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FTagTimeouts:TagTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering Tag resources.\n","properties":{"requestId":{"type":"string"},"resourceIds":{"type":"array","items":{"type":"string"}},"tag":{"type":"array","items":{"$ref":"#/types/outscale:index%2FTagTag:TagTag"}},"tagId":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FTagTag:TagTag"}},"timeouts":{"$ref":"#/types/outscale:index%2FTagTimeouts:TagTimeouts"}},"type":"object"}},"outscale:index/user:User":{"description":"Manages a user.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-EIM-Users.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#createuser).\n\n## Example Usage\n\n### Creating a user\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst user_1 = new outscale.User(\"user-1\", {\n    userName: \"User-TF-1\",\n    userEmail: \"test-TF1@test2.fr\",\n    path: \"/terraform/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nuser_1 = outscale.User(\"user-1\",\n    user_name=\"User-TF-1\",\n    user_email=\"test-TF1@test2.fr\",\n    path=\"/terraform/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user_1 = new Outscale.User(\"user-1\", new()\n    {\n        UserName = \"User-TF-1\",\n        UserEmail = \"test-TF1@test2.fr\",\n        Path = \"/terraform/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewUser(ctx, \"user-1\", \u0026outscale.UserArgs{\n\t\t\tUserName:  pulumi.String(\"User-TF-1\"),\n\t\t\tUserEmail: pulumi.String(\"test-TF1@test2.fr\"),\n\t\t\tPath:      pulumi.String(\"/terraform/\"),\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.outscale.User;\nimport com.pulumi.outscale.UserArgs;\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        var user_1 = new User(\"user-1\", UserArgs.builder()\n            .userName(\"User-TF-1\")\n            .userEmail(\"test-TF1@test2.fr\")\n            .path(\"/terraform/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  user-1:\n    type: outscale:User\n    properties:\n      userName: User-TF-1\n      userEmail: test-TF1@test2.fr\n      path: /terraform/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Linking a policy to a user\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst user_1 = new outscale.User(\"user-1\", {\n    userName: \"User-TF-1\",\n    policies: [{\n        policyOrn: policy_1.orn,\n        defaultVersionId: \"V1\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nuser_1 = outscale.User(\"user-1\",\n    user_name=\"User-TF-1\",\n    policies=[{\n        \"policy_orn\": policy_1[\"orn\"],\n        \"default_version_id\": \"V1\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user_1 = new Outscale.User(\"user-1\", new()\n    {\n        UserName = \"User-TF-1\",\n        Policies = new[]\n        {\n            new Outscale.Inputs.UserPolicyArgs\n            {\n                PolicyOrn = policy_1.Orn,\n                DefaultVersionId = \"V1\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewUser(ctx, \"user-1\", \u0026outscale.UserArgs{\n\t\t\tUserName: pulumi.String(\"User-TF-1\"),\n\t\t\tPolicies: outscale.UserPolicyArray{\n\t\t\t\t\u0026outscale.UserPolicyArgs{\n\t\t\t\t\tPolicyOrn:        pulumi.Any(policy_1.Orn),\n\t\t\t\t\tDefaultVersionId: pulumi.String(\"V1\"),\n\t\t\t\t},\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.outscale.User;\nimport com.pulumi.outscale.UserArgs;\nimport com.pulumi.outscale.inputs.UserPolicyArgs;\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        var user_1 = new User(\"user-1\", UserArgs.builder()\n            .userName(\"User-TF-1\")\n            .policies(UserPolicyArgs.builder()\n                .policyOrn(policy_1.orn())\n                .defaultVersionId(\"V1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  user-1:\n    type: outscale:User\n    properties:\n      userName: User-TF-1\n      policies:\n        - policyOrn: ${[\"policy-1\"].orn}\n          defaultVersionId: V1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA user can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/user:User user1 user_id\n```\n\n","properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the EIM user.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the EIM user.\n"},"path":{"type":"string","description":"The path to the EIM user you want to create (by default, `/`). This path name must begin and end with a slash (`/`), and contain between 1 and 512 alphanumeric characters and/or slashes (`/`), or underscores (`_`).\n"},"policies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FUserPolicy:UserPolicy"}},"timeouts":{"$ref":"#/types/outscale:index%2FUserTimeouts:UserTimeouts"},"userEmail":{"type":"string","description":"The email address of the EIM user.\n"},"userId":{"type":"string","description":"The ID of the EIM user.\n"},"userName":{"type":"string","description":"The name of the EIM user. This user name must contain between 1 and 64 alphanumeric characters and/or pluses (`+`), equals (`=`), commas (`,`), periods (`.`), at signs (`@`), dashes (`-`), or underscores (`_`).\n"}},"type":"object","required":["creationDate","lastModificationDate","path","userEmail","userId","userName"],"inputProperties":{"path":{"type":"string","description":"The path to the EIM user you want to create (by default, `/`). This path name must begin and end with a slash (`/`), and contain between 1 and 512 alphanumeric characters and/or slashes (`/`), or underscores (`_`).\n"},"policies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FUserPolicy:UserPolicy"}},"timeouts":{"$ref":"#/types/outscale:index%2FUserTimeouts:UserTimeouts"},"userEmail":{"type":"string","description":"The email address of the EIM user.\n"},"userName":{"type":"string","description":"The name of the EIM user. This user name must contain between 1 and 64 alphanumeric characters and/or pluses (`+`), equals (`=`), commas (`,`), periods (`.`), at signs (`@`), dashes (`-`), or underscores (`_`).\n"}},"requiredInputs":["userName"],"stateInputs":{"description":"Input properties used for looking up and filtering User resources.\n","properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the EIM user.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the EIM user.\n"},"path":{"type":"string","description":"The path to the EIM user you want to create (by default, `/`). This path name must begin and end with a slash (`/`), and contain between 1 and 512 alphanumeric characters and/or slashes (`/`), or underscores (`_`).\n"},"policies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FUserPolicy:UserPolicy"}},"timeouts":{"$ref":"#/types/outscale:index%2FUserTimeouts:UserTimeouts"},"userEmail":{"type":"string","description":"The email address of the EIM user.\n"},"userId":{"type":"string","description":"The ID of the EIM user.\n"},"userName":{"type":"string","description":"The name of the EIM user. This user name must contain between 1 and 64 alphanumeric characters and/or pluses (`+`), equals (`=`), commas (`,`), periods (`.`), at signs (`@`), dashes (`-`), or underscores (`_`).\n"}},"type":"object"}},"outscale:index/userGroup:UserGroup":{"description":"Manages a user group.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-EIM-Groups.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#createusergroup).\n\n## Example Usage\n\n### Create a user group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst group_1 = new outscale.UserGroup(\"group-1\", {\n    userGroupName: \"Group-TF-test-1\",\n    path: \"/terraform/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ngroup_1 = outscale.UserGroup(\"group-1\",\n    user_group_name=\"Group-TF-test-1\",\n    path=\"/terraform/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group_1 = new Outscale.UserGroup(\"group-1\", new()\n    {\n        UserGroupName = \"Group-TF-test-1\",\n        Path = \"/terraform/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewUserGroup(ctx, \"group-1\", \u0026outscale.UserGroupArgs{\n\t\t\tUserGroupName: pulumi.String(\"Group-TF-test-1\"),\n\t\t\tPath:          pulumi.String(\"/terraform/\"),\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.outscale.UserGroup;\nimport com.pulumi.outscale.UserGroupArgs;\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        var group_1 = new UserGroup(\"group-1\", UserGroupArgs.builder()\n            .userGroupName(\"Group-TF-test-1\")\n            .path(\"/terraform/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group-1:\n    type: outscale:UserGroup\n    properties:\n      userGroupName: Group-TF-test-1\n      path: /terraform/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Link a policy to a user group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst group_1 = new outscale.UserGroup(\"group-1\", {\n    userGroupName: \"Group-TF-test-1\",\n    policies: [{\n        policyOrn: policy_2.orn,\n        defaultVersionId: \"V2\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ngroup_1 = outscale.UserGroup(\"group-1\",\n    user_group_name=\"Group-TF-test-1\",\n    policies=[{\n        \"policy_orn\": policy_2[\"orn\"],\n        \"default_version_id\": \"V2\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group_1 = new Outscale.UserGroup(\"group-1\", new()\n    {\n        UserGroupName = \"Group-TF-test-1\",\n        Policies = new[]\n        {\n            new Outscale.Inputs.UserGroupPolicyArgs\n            {\n                PolicyOrn = policy_2.Orn,\n                DefaultVersionId = \"V2\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewUserGroup(ctx, \"group-1\", \u0026outscale.UserGroupArgs{\n\t\t\tUserGroupName: pulumi.String(\"Group-TF-test-1\"),\n\t\t\tPolicies: outscale.UserGroupPolicyArray{\n\t\t\t\t\u0026outscale.UserGroupPolicyArgs{\n\t\t\t\t\tPolicyOrn:        pulumi.Any(policy_2.Orn),\n\t\t\t\t\tDefaultVersionId: pulumi.String(\"V2\"),\n\t\t\t\t},\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.outscale.UserGroup;\nimport com.pulumi.outscale.UserGroupArgs;\nimport com.pulumi.outscale.inputs.UserGroupPolicyArgs;\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        var group_1 = new UserGroup(\"group-1\", UserGroupArgs.builder()\n            .userGroupName(\"Group-TF-test-1\")\n            .policies(UserGroupPolicyArgs.builder()\n                .policyOrn(policy_2.orn())\n                .defaultVersionId(\"V2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group-1:\n    type: outscale:UserGroup\n    properties:\n      userGroupName: Group-TF-test-1\n      policies:\n        - policyOrn: ${[\"policy-2\"].orn}\n          defaultVersionId: V2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Add a user to a user group\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst group_1 = new outscale.UserGroup(\"group-1\", {\n    userGroupName: \"Group-TF-test-1\",\n    users: [\n        {\n            userName: \"user-name-1\",\n            path: \"/terraform/\",\n        },\n        {\n            userName: \"user-name-2\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ngroup_1 = outscale.UserGroup(\"group-1\",\n    user_group_name=\"Group-TF-test-1\",\n    users=[\n        {\n            \"user_name\": \"user-name-1\",\n            \"path\": \"/terraform/\",\n        },\n        {\n            \"user_name\": \"user-name-2\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var group_1 = new Outscale.UserGroup(\"group-1\", new()\n    {\n        UserGroupName = \"Group-TF-test-1\",\n        Users = new[]\n        {\n            new Outscale.Inputs.UserGroupUserArgs\n            {\n                UserName = \"user-name-1\",\n                Path = \"/terraform/\",\n            },\n            new Outscale.Inputs.UserGroupUserArgs\n            {\n                UserName = \"user-name-2\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewUserGroup(ctx, \"group-1\", \u0026outscale.UserGroupArgs{\n\t\t\tUserGroupName: pulumi.String(\"Group-TF-test-1\"),\n\t\t\tUsers: outscale.UserGroupUserArray{\n\t\t\t\t\u0026outscale.UserGroupUserArgs{\n\t\t\t\t\tUserName: pulumi.String(\"user-name-1\"),\n\t\t\t\t\tPath:     pulumi.String(\"/terraform/\"),\n\t\t\t\t},\n\t\t\t\t\u0026outscale.UserGroupUserArgs{\n\t\t\t\t\tUserName: pulumi.String(\"user-name-2\"),\n\t\t\t\t},\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.outscale.UserGroup;\nimport com.pulumi.outscale.UserGroupArgs;\nimport com.pulumi.outscale.inputs.UserGroupUserArgs;\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        var group_1 = new UserGroup(\"group-1\", UserGroupArgs.builder()\n            .userGroupName(\"Group-TF-test-1\")\n            .users(            \n                UserGroupUserArgs.builder()\n                    .userName(\"user-name-1\")\n                    .path(\"/terraform/\")\n                    .build(),\n                UserGroupUserArgs.builder()\n                    .userName(\"user-name-2\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  group-1:\n    type: outscale:UserGroup\n    properties:\n      userGroupName: Group-TF-test-1\n      users:\n        - userName: user-name-1\n          path: /terraform/\n        - userName: user-name-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a user group, and add a user and a policy to it\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  group-1:\n    type: outscale:UserGroup\n    properties:\n      userGroupName: Group-TF-test-1\n      users:\n        - userName: user-name-1\n          path: /terraform/\n        - userName: user-name-2\n      policies:\n        - policyOrn: ${[\"policy-2\"].orn}\n          versionId: V2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA user group can be imported using its group ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/userGroup:UserGroup group1 user_group_id\n```\n\n","properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the user group.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the user group.\n"},"orn":{"type":"string","description":"The Outscale Resource Name (ORN) of the user group. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"path":{"type":"string","description":"The path to the group. If not specified, it is set to a slash (`/`).\n"},"policies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FUserGroupPolicy:UserGroupPolicy"}},"timeouts":{"$ref":"#/types/outscale:index%2FUserGroupTimeouts:UserGroupTimeouts"},"userGroupId":{"type":"string","description":"The ID of the user group.\n"},"userGroupName":{"type":"string","description":"The name of the group.\n"},"users":{"type":"array","items":{"$ref":"#/types/outscale:index%2FUserGroupUser:UserGroupUser"}}},"type":"object","required":["creationDate","lastModificationDate","orn","path","userGroupId","userGroupName"],"inputProperties":{"path":{"type":"string","description":"The path to the group. If not specified, it is set to a slash (`/`).\n"},"policies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FUserGroupPolicy:UserGroupPolicy"}},"timeouts":{"$ref":"#/types/outscale:index%2FUserGroupTimeouts:UserGroupTimeouts"},"userGroupName":{"type":"string","description":"The name of the group.\n"},"users":{"type":"array","items":{"$ref":"#/types/outscale:index%2FUserGroupUser:UserGroupUser"}}},"requiredInputs":["userGroupName"],"stateInputs":{"description":"Input properties used for looking up and filtering UserGroup resources.\n","properties":{"creationDate":{"type":"string","description":"The date and time (UTC) of creation of the user group.\n"},"lastModificationDate":{"type":"string","description":"The date and time (UTC) of the last modification of the user group.\n"},"orn":{"type":"string","description":"The Outscale Resource Name (ORN) of the user group. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"},"path":{"type":"string","description":"The path to the group. If not specified, it is set to a slash (`/`).\n"},"policies":{"type":"array","items":{"$ref":"#/types/outscale:index%2FUserGroupPolicy:UserGroupPolicy"}},"timeouts":{"$ref":"#/types/outscale:index%2FUserGroupTimeouts:UserGroupTimeouts"},"userGroupId":{"type":"string","description":"The ID of the user group.\n"},"userGroupName":{"type":"string","description":"The name of the group.\n"},"users":{"type":"array","items":{"$ref":"#/types/outscale:index%2FUserGroupUser:UserGroupUser"}}},"type":"object"}},"outscale:index/virtualGateway:VirtualGateway":{"description":"Manages a virtual gateway.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Virtual-Gateways.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-virtualgateway).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtual_gateway01\", {\n    connectionType: \"ipsec.1\",\n    tags: [{\n        key: \"name\",\n        value: \"terraform-virtual-gateway\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateway01 = outscale.VirtualGateway(\"virtual_gateway01\",\n    connection_type=\"ipsec.1\",\n    tags=[{\n        \"key\": \"name\",\n        \"value\": \"terraform-virtual-gateway\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var virtualGateway01 = new Outscale.VirtualGateway(\"virtual_gateway01\", new()\n    {\n        ConnectionType = \"ipsec.1\",\n        Tags = new[]\n        {\n            new Outscale.Inputs.VirtualGatewayTagArgs\n            {\n                Key = \"name\",\n                Value = \"terraform-virtual-gateway\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVirtualGateway(ctx, \"virtual_gateway01\", \u0026outscale.VirtualGatewayArgs{\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\n\t\t\tTags: outscale.VirtualGatewayTagArray{\n\t\t\t\t\u0026outscale.VirtualGatewayTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-virtual-gateway\"),\n\t\t\t\t},\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.outscale.VirtualGateway;\nimport com.pulumi.outscale.VirtualGatewayArgs;\nimport com.pulumi.outscale.inputs.VirtualGatewayTagArgs;\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        var virtualGateway01 = new VirtualGateway(\"virtualGateway01\", VirtualGatewayArgs.builder()\n            .connectionType(\"ipsec.1\")\n            .tags(VirtualGatewayTagArgs.builder()\n                .key(\"name\")\n                .value(\"terraform-virtual-gateway\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  virtualGateway01:\n    type: outscale:VirtualGateway\n    name: virtual_gateway01\n    properties:\n      connectionType: ipsec.1\n      tags:\n        - key: name\n          value: terraform-virtual-gateway\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA virtual gateway can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/virtualGateway:VirtualGateway ImportedVirtualGateway vgw-12345678\n```\n\n","properties":{"connectionType":{"type":"string","description":"The type of VPN connection supported by the virtual gateway (always `ipsec.1`).\n"},"netToVirtualGatewayLinks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVirtualGatewayNetToVirtualGatewayLink:VirtualGatewayNetToVirtualGatewayLink"},"description":"The Net to which the virtual gateway is attached.\n"},"outscaleVirtualGatewayId":{"type":"string"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the virtual gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVirtualGatewayTag:VirtualGatewayTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVirtualGatewayTimeouts:VirtualGatewayTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"}},"type":"object","required":["connectionType","outscaleVirtualGatewayId","requestId","state","virtualGatewayId"],"inputProperties":{"connectionType":{"type":"string","description":"The type of VPN connection supported by the virtual gateway (always `ipsec.1`).\n"},"netToVirtualGatewayLinks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVirtualGatewayNetToVirtualGatewayLink:VirtualGatewayNetToVirtualGatewayLink"},"description":"The Net to which the virtual gateway is attached.\n"},"outscaleVirtualGatewayId":{"type":"string"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the virtual gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVirtualGatewayTag:VirtualGatewayTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVirtualGatewayTimeouts:VirtualGatewayTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"}},"requiredInputs":["connectionType"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualGateway resources.\n","properties":{"connectionType":{"type":"string","description":"The type of VPN connection supported by the virtual gateway (always `ipsec.1`).\n"},"netToVirtualGatewayLinks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVirtualGatewayNetToVirtualGatewayLink:VirtualGatewayNetToVirtualGatewayLink"},"description":"The Net to which the virtual gateway is attached.\n"},"outscaleVirtualGatewayId":{"type":"string"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the virtual gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVirtualGatewayTag:VirtualGatewayTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVirtualGatewayTimeouts:VirtualGatewayTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"}},"type":"object"}},"outscale:index/virtualGatewayLink:VirtualGatewayLink":{"description":"Manages a virtual gateway link.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Virtual-Gateways.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-virtualgateway).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtual_gateway01\", {connectionType: \"ipsec.1\"});\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateway01 = outscale.VirtualGateway(\"virtual_gateway01\", connection_type=\"ipsec.1\")\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var virtualGateway01 = new Outscale.VirtualGateway(\"virtual_gateway01\", new()\n    {\n        ConnectionType = \"ipsec.1\",\n    });\n\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVirtualGateway(ctx, \"virtual_gateway01\", \u0026outscale.VirtualGatewayArgs{\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\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.outscale.VirtualGateway;\nimport com.pulumi.outscale.VirtualGatewayArgs;\nimport com.pulumi.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\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        var virtualGateway01 = new VirtualGateway(\"virtualGateway01\", VirtualGatewayArgs.builder()\n            .connectionType(\"ipsec.1\")\n            .build());\n\n        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  virtualGateway01:\n    type: outscale:VirtualGateway\n    name: virtual_gateway01\n    properties:\n      connectionType: ipsec.1\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Link a virtual gateway to a Net\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGatewayLink01 = new outscale.VirtualGatewayLink(\"virtual_gateway_link01\", {\n    virtualGatewayId: virtualGateway01.virtualGatewayId,\n    netId: net01.netId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateway_link01 = outscale.VirtualGatewayLink(\"virtual_gateway_link01\",\n    virtual_gateway_id=virtual_gateway01[\"virtualGatewayId\"],\n    net_id=net01[\"netId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var virtualGatewayLink01 = new Outscale.VirtualGatewayLink(\"virtual_gateway_link01\", new()\n    {\n        VirtualGatewayId = virtualGateway01.VirtualGatewayId,\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVirtualGatewayLink(ctx, \"virtual_gateway_link01\", \u0026outscale.VirtualGatewayLinkArgs{\n\t\t\tVirtualGatewayId: pulumi.Any(virtualGateway01.VirtualGatewayId),\n\t\t\tNetId:            pulumi.Any(net01.NetId),\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.outscale.VirtualGatewayLink;\nimport com.pulumi.outscale.VirtualGatewayLinkArgs;\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        var virtualGatewayLink01 = new VirtualGatewayLink(\"virtualGatewayLink01\", VirtualGatewayLinkArgs.builder()\n            .virtualGatewayId(virtualGateway01.virtualGatewayId())\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  virtualGatewayLink01:\n    type: outscale:VirtualGatewayLink\n    name: virtual_gateway_link01\n    properties:\n      virtualGatewayId: ${virtualGateway01.virtualGatewayId}\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA virtual gateway link can be imported using its virtual gateway ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/virtualGatewayLink:VirtualGatewayLink ImportedVirtualGatewayLink vgw-12345678\n```\n\n","properties":{"dryRun":{"type":"string"},"netId":{"type":"string","description":"The ID of the Net to which you want to attach the virtual gateway.\n"},"netToVirtualGatewayLinks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVirtualGatewayLinkNetToVirtualGatewayLink:VirtualGatewayLinkNetToVirtualGatewayLink"}},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FVirtualGatewayLinkTimeouts:VirtualGatewayLinkTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"},"virtualGatewayLinkId":{"type":"string"}},"type":"object","required":["dryRun","netId","netToVirtualGatewayLinks","requestId","virtualGatewayId","virtualGatewayLinkId"],"inputProperties":{"dryRun":{"type":"string"},"netId":{"type":"string","description":"The ID of the Net to which you want to attach the virtual gateway.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVirtualGatewayLinkTimeouts:VirtualGatewayLinkTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"},"virtualGatewayLinkId":{"type":"string"}},"requiredInputs":["netId","virtualGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualGatewayLink resources.\n","properties":{"dryRun":{"type":"string"},"netId":{"type":"string","description":"The ID of the Net to which you want to attach the virtual gateway.\n"},"netToVirtualGatewayLinks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVirtualGatewayLinkNetToVirtualGatewayLink:VirtualGatewayLinkNetToVirtualGatewayLink"}},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FVirtualGatewayLinkTimeouts:VirtualGatewayLinkTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"},"virtualGatewayLinkId":{"type":"string"}},"type":"object"}},"outscale:index/virtualGatewayRoutePropagation:VirtualGatewayRoutePropagation":{"description":"Manages a virtual gateway route propagation.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Routing-Configuration-for-VPN-Connections.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#updateroutepropagation).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtual_gateway01\", {connectionType: \"ipsec.1\"});\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst routeTable01 = new outscale.RouteTable(\"route_table01\", {netId: net01.netId});\nconst virtualGatewayLink01 = new outscale.VirtualGatewayLink(\"virtual_gateway_link01\", {\n    virtualGatewayId: virtualGateway01.virtualGatewayId,\n    netId: net01.netId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateway01 = outscale.VirtualGateway(\"virtual_gateway01\", connection_type=\"ipsec.1\")\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nroute_table01 = outscale.RouteTable(\"route_table01\", net_id=net01.net_id)\nvirtual_gateway_link01 = outscale.VirtualGatewayLink(\"virtual_gateway_link01\",\n    virtual_gateway_id=virtual_gateway01.virtual_gateway_id,\n    net_id=net01.net_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var virtualGateway01 = new Outscale.VirtualGateway(\"virtual_gateway01\", new()\n    {\n        ConnectionType = \"ipsec.1\",\n    });\n\n    var net01 = new Outscale.Net(\"net01\", new()\n    {\n        IpRange = \"10.0.0.0/16\",\n    });\n\n    var routeTable01 = new Outscale.RouteTable(\"route_table01\", new()\n    {\n        NetId = net01.NetId,\n    });\n\n    var virtualGatewayLink01 = new Outscale.VirtualGatewayLink(\"virtual_gateway_link01\", new()\n    {\n        VirtualGatewayId = virtualGateway01.VirtualGatewayId,\n        NetId = net01.NetId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvirtualGateway01, err := outscale.NewVirtualGateway(ctx, \"virtual_gateway01\", \u0026outscale.VirtualGatewayArgs{\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnet01, err := outscale.NewNet(ctx, \"net01\", \u0026outscale.NetArgs{\n\t\t\tIpRange: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewRouteTable(ctx, \"route_table01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: net01.NetId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewVirtualGatewayLink(ctx, \"virtual_gateway_link01\", \u0026outscale.VirtualGatewayLinkArgs{\n\t\t\tVirtualGatewayId: virtualGateway01.VirtualGatewayId,\n\t\t\tNetId:            net01.NetId,\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.outscale.VirtualGateway;\nimport com.pulumi.outscale.VirtualGatewayArgs;\nimport com.pulumi.outscale.Net;\nimport com.pulumi.outscale.NetArgs;\nimport com.pulumi.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\nimport com.pulumi.outscale.VirtualGatewayLink;\nimport com.pulumi.outscale.VirtualGatewayLinkArgs;\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        var virtualGateway01 = new VirtualGateway(\"virtualGateway01\", VirtualGatewayArgs.builder()\n            .connectionType(\"ipsec.1\")\n            .build());\n\n        var net01 = new Net(\"net01\", NetArgs.builder()\n            .ipRange(\"10.0.0.0/16\")\n            .build());\n\n        var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder()\n            .netId(net01.netId())\n            .build());\n\n        var virtualGatewayLink01 = new VirtualGatewayLink(\"virtualGatewayLink01\", VirtualGatewayLinkArgs.builder()\n            .virtualGatewayId(virtualGateway01.virtualGatewayId())\n            .netId(net01.netId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  virtualGateway01:\n    type: outscale:VirtualGateway\n    name: virtual_gateway01\n    properties:\n      connectionType: ipsec.1\n  net01:\n    type: outscale:Net\n    properties:\n      ipRange: 10.0.0.0/16\n  routeTable01:\n    type: outscale:RouteTable\n    name: route_table01\n    properties:\n      netId: ${net01.netId}\n  virtualGatewayLink01:\n    type: outscale:VirtualGatewayLink\n    name: virtual_gateway_link01\n    properties:\n      virtualGatewayId: ${virtualGateway01.virtualGatewayId}\n      netId: ${net01.netId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Activate the propagation of routes to a route table of a Net by a virtual gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGatewayRoutePropagation01 = new outscale.VirtualGatewayRoutePropagation(\"virtual_gateway_route_propagation01\", {\n    enable: true,\n    virtualGatewayId: virtualGateway01.virtualGatewayId,\n    routeTableId: routeTable01.routeTableId,\n}, {\n    dependsOn: [virtualGatewayLink01],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateway_route_propagation01 = outscale.VirtualGatewayRoutePropagation(\"virtual_gateway_route_propagation01\",\n    enable=True,\n    virtual_gateway_id=virtual_gateway01[\"virtualGatewayId\"],\n    route_table_id=route_table01[\"routeTableId\"],\n    opts = pulumi.ResourceOptions(depends_on=[virtual_gateway_link01]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var virtualGatewayRoutePropagation01 = new Outscale.VirtualGatewayRoutePropagation(\"virtual_gateway_route_propagation01\", new()\n    {\n        Enable = true,\n        VirtualGatewayId = virtualGateway01.VirtualGatewayId,\n        RouteTableId = routeTable01.RouteTableId,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            virtualGatewayLink01,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVirtualGatewayRoutePropagation(ctx, \"virtual_gateway_route_propagation01\", \u0026outscale.VirtualGatewayRoutePropagationArgs{\n\t\t\tEnable:           pulumi.Bool(true),\n\t\t\tVirtualGatewayId: pulumi.Any(virtualGateway01.VirtualGatewayId),\n\t\t\tRouteTableId:     pulumi.Any(routeTable01.RouteTableId),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvirtualGatewayLink01,\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.outscale.VirtualGatewayRoutePropagation;\nimport com.pulumi.outscale.VirtualGatewayRoutePropagationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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        var virtualGatewayRoutePropagation01 = new VirtualGatewayRoutePropagation(\"virtualGatewayRoutePropagation01\", VirtualGatewayRoutePropagationArgs.builder()\n            .enable(true)\n            .virtualGatewayId(virtualGateway01.virtualGatewayId())\n            .routeTableId(routeTable01.routeTableId())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(virtualGatewayLink01)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  virtualGatewayRoutePropagation01:\n    type: outscale:VirtualGatewayRoutePropagation\n    name: virtual_gateway_route_propagation01\n    properties:\n      enable: true\n      virtualGatewayId: ${virtualGateway01.virtualGatewayId}\n      routeTableId: ${routeTable01.routeTableId}\n    options:\n      dependsOn:\n        - ${virtualGatewayLink01}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"enable":{"type":"boolean","description":"If true, a virtual gateway can propagate routes to a specified route table of a Net. If false, the propagation is disabled.\n"},"requestId":{"type":"string"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVirtualGatewayRoutePropagationTimeouts:VirtualGatewayRoutePropagationTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"},"virtualGatewayRoutePropagationId":{"type":"string"}},"type":"object","required":["enable","requestId","routeTableId","virtualGatewayId","virtualGatewayRoutePropagationId"],"inputProperties":{"enable":{"type":"boolean","description":"If true, a virtual gateway can propagate routes to a specified route table of a Net. If false, the propagation is disabled.\n"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVirtualGatewayRoutePropagationTimeouts:VirtualGatewayRoutePropagationTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"},"virtualGatewayRoutePropagationId":{"type":"string"}},"requiredInputs":["enable","routeTableId","virtualGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualGatewayRoutePropagation resources.\n","properties":{"enable":{"type":"boolean","description":"If true, a virtual gateway can propagate routes to a specified route table of a Net. If false, the propagation is disabled.\n"},"requestId":{"type":"string"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVirtualGatewayRoutePropagationTimeouts:VirtualGatewayRoutePropagationTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"},"virtualGatewayRoutePropagationId":{"type":"string"}},"type":"object"}},"outscale:index/vm:Vm":{"description":"\n\n## Import\n\nA VM can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/vm:Vm ImportedVm i-12345678\n```\n\n","properties":{"actionsOnNextBoots":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmActionsOnNextBoot:VmActionsOnNextBoot"},"description":"The action to perform on the next boot of the VM.\n"},"adminPassword":{"type":"string"},"architecture":{"type":"string","description":"The architecture of the VM (\u003cspan pulumi-lang-nodejs=\"`i386`\" pulumi-lang-dotnet=\"`I386`\" pulumi-lang-go=\"`i386`\" pulumi-lang-python=\"`i386`\" pulumi-lang-yaml=\"`i386`\" pulumi-lang-java=\"`i386`\"\u003e`i386`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\"\u003e`x86_64`\u003c/span\u003e).\n"},"blockDeviceMappings":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmBlockDeviceMapping:VmBlockDeviceMapping"},"description":"One or more block device mappings.\n"},"blockDeviceMappingsCreateds":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmBlockDeviceMappingsCreated:VmBlockDeviceMappingsCreated"},"description":"The block device mapping of the VM.\n"},"bootMode":{"type":"string","description":"The boot mode of the VM. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n"},"bsuOptimized":{"type":"boolean"},"clientToken":{"type":"string","description":"A unique identifier which enables you to manage the idempotency.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the VM was created.\n"},"deletionProtection":{"type":"boolean","description":"If true, you cannot delete the VM unless you change this parameter back to false.\n"},"getAdminPassword":{"type":"boolean","description":"(Windows VM only) If true, waits for the administrator password of the VM to become available in order to retrieve the VM. The password is exported to the \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e attribute.\n"},"hypervisor":{"type":"string","description":"The hypervisor type of the VMs (\u003cspan pulumi-lang-nodejs=\"`ovm`\" pulumi-lang-dotnet=\"`Ovm`\" pulumi-lang-go=\"`ovm`\" pulumi-lang-python=\"`ovm`\" pulumi-lang-yaml=\"`ovm`\" pulumi-lang-java=\"`ovm`\"\u003e`ovm`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`xen`\" pulumi-lang-dotnet=\"`Xen`\" pulumi-lang-go=\"`xen`\" pulumi-lang-python=\"`xen`\" pulumi-lang-yaml=\"`xen`\" pulumi-lang-java=\"`xen`\"\u003e`xen`\u003c/span\u003e).\n"},"imageId":{"type":"string","description":"The ID of the OMI used to create the VM. You can find the list of OMIs by calling the [ReadImages](https://docs.outscale.com/api#readimages) method.\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"keypairName":{"type":"string","description":"The name of the keypair.\n"},"keypairNameWo":{"type":"string","description":"The name of the keypair. This write-only parameter is required to use the ephemeral keypair resource.\n"},"launchNumber":{"type":"number","description":"The number for the VM when launching a group of several VMs (for example, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and so on).\n"},"nestedVirtualization":{"type":"boolean","description":"(dedicated tenancy only) If true, nested virtualization is enabled. If false, it is disabled.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmNic:VmNic"},"description":"One or more NICs. If you specify this parameter, you must not specify the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subregionName`\" pulumi-lang-dotnet=\"`SubregionName`\" pulumi-lang-go=\"`subregionName`\" pulumi-lang-python=\"`subregion_name`\" pulumi-lang-yaml=\"`subregionName`\" pulumi-lang-java=\"`subregionName`\"\u003e`subregion_name`\u003c/span\u003e parameters. To define a NIC as the primary network interface of the VM, use the \u003cspan pulumi-lang-nodejs=\"`primaryNic`\" pulumi-lang-dotnet=\"`PrimaryNic`\" pulumi-lang-go=\"`primaryNic`\" pulumi-lang-python=\"`primary_nic`\" pulumi-lang-yaml=\"`primaryNic`\" pulumi-lang-java=\"`primaryNic`\"\u003e`primary_nic`\u003c/span\u003e argument.\n"},"osFamily":{"type":"string","description":"Indicates the operating system (OS) of the VM.\n"},"outscaleVmId":{"type":"string"},"performance":{"type":"string","description":"The performance of the VM (\u003cspan pulumi-lang-nodejs=\"`medium`\" pulumi-lang-dotnet=\"`Medium`\" pulumi-lang-go=\"`medium`\" pulumi-lang-python=\"`medium`\" pulumi-lang-yaml=\"`medium`\" pulumi-lang-java=\"`medium`\"\u003e`medium`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`highest`\" pulumi-lang-dotnet=\"`Highest`\" pulumi-lang-go=\"`highest`\" pulumi-lang-python=\"`highest`\" pulumi-lang-yaml=\"`highest`\" pulumi-lang-java=\"`highest`\"\u003e`highest`\u003c/span\u003e). Updating this parameter will trigger a stop/start of the VM.\n"},"placementSubregionName":{"type":"string","description":"The name of the Subregion where the VM is placed.\n"},"placementTenancy":{"type":"string","description":"The tenancy of the VM (\u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e).\n"},"primaryNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmPrimaryNic:VmPrimaryNic"},"description":"The primary network interface of the VM.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The primary private IP of the VM.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"One or more private IPs of the VM.\n"},"productCodes":{"type":"array","items":{"type":"string"},"description":"The product codes associated with the OMI used to create the VM.\n"},"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"requestId":{"type":"string"},"reservationId":{"type":"string","description":"The reservation ID of the VM.\n"},"rootDeviceName":{"type":"string","description":"The name of the root device for the VM (for example, `/dev/sda1`).\n"},"rootDeviceType":{"type":"string","description":"The type of root device used by the VM (always \u003cspan pulumi-lang-nodejs=\"`bsu`\" pulumi-lang-dotnet=\"`Bsu`\" pulumi-lang-go=\"`bsu`\" pulumi-lang-python=\"`bsu`\" pulumi-lang-yaml=\"`bsu`\" pulumi-lang-java=\"`bsu`\"\u003e`bsu`\u003c/span\u003e).\n"},"secureBootAction":{"type":"string","description":"One action to perform on the next boot of the VM (\u003cspan pulumi-lang-nodejs=\"`enable`\" pulumi-lang-dotnet=\"`Enable`\" pulumi-lang-go=\"`enable`\" pulumi-lang-python=\"`enable`\" pulumi-lang-yaml=\"`enable`\" pulumi-lang-java=\"`enable`\"\u003e`enable`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e | `setup-mode` |\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e).\u003cbr /\u003e For more information, see [About Secure Boot](https://docs.outscale.com/en/userguide/About-Secure-Boot.html#_secure_boot_actions).\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security group for the VMs. You must specify at least one of the following parameters: \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`securityGroupNames`\" pulumi-lang-dotnet=\"`SecurityGroupNames`\" pulumi-lang-go=\"`securityGroupNames`\" pulumi-lang-python=\"`security_group_names`\" pulumi-lang-yaml=\"`securityGroupNames`\" pulumi-lang-java=\"`securityGroupNames`\"\u003e`security_group_names`\u003c/span\u003e.\n"},"securityGroupNames":{"type":"array","items":{"type":"string"},"description":"One or more names of security groups for the VMs. You must specify at least one of the following parameters: \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`securityGroupNames`\" pulumi-lang-dotnet=\"`SecurityGroupNames`\" pulumi-lang-go=\"`securityGroupNames`\" pulumi-lang-python=\"`security_group_names`\" pulumi-lang-yaml=\"`securityGroupNames`\" pulumi-lang-java=\"`securityGroupNames`\"\u003e`security_group_names`\u003c/span\u003e.\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmSecurityGroup:VmSecurityGroup"},"description":"One or more security groups associated with the VM.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e). If set to \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, the VM is stopped regardless of the value of the \u003cspan pulumi-lang-nodejs=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-dotnet=\"`VmInitiatedShutdownBehavior`\" pulumi-lang-go=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-python=\"`vm_initiated_shutdown_behavior`\" pulumi-lang-yaml=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-java=\"`vmInitiatedShutdownBehavior`\"\u003e`vm_initiated_shutdown_behavior`\u003c/span\u003e argument.\n"},"stateReason":{"type":"string","description":"The reason explaining the current state of the VM.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the VM. If you specify this parameter, you must not specify the \u003cspan pulumi-lang-nodejs=\"`nics`\" pulumi-lang-dotnet=\"`Nics`\" pulumi-lang-go=\"`nics`\" pulumi-lang-python=\"`nics`\" pulumi-lang-yaml=\"`nics`\" pulumi-lang-java=\"`nics`\"\u003e`nics`\u003c/span\u003e parameter.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmTag:VmTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVmTimeouts:VmTimeouts"},"tpmEnabled":{"type":"boolean","description":"If true, a virtual Trusted Platform Module (vTPM) is enabled on the VM. If false, it is not.\u003cbr /\u003eThe default behavior for \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e varies depending on the source OMI of the VM.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is true, a vTPM has to be attached to the VM and it will be created by default. Setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to false will cause the creation request to fail.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is false, only setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to true will create and attach a vTPM to the VM.\n"},"userData":{"type":"string"},"vmId":{"type":"string","description":"The ID of the VM.\n"},"vmInitiatedShutdownBehavior":{"type":"string","description":"The VM behavior when you stop it. By default or if set to \u003cspan pulumi-lang-nodejs=\"`stop`\" pulumi-lang-dotnet=\"`Stop`\" pulumi-lang-go=\"`stop`\" pulumi-lang-python=\"`stop`\" pulumi-lang-yaml=\"`stop`\" pulumi-lang-java=\"`stop`\"\u003e`stop`\u003c/span\u003e, the VM stops. If set to \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e, the VM stops then automatically restarts. If set to \u003cspan pulumi-lang-nodejs=\"`terminate`\" pulumi-lang-dotnet=\"`Terminate`\" pulumi-lang-go=\"`terminate`\" pulumi-lang-python=\"`terminate`\" pulumi-lang-yaml=\"`terminate`\" pulumi-lang-java=\"`terminate`\"\u003e`terminate`\u003c/span\u003e, the VM stops and is terminated.\n"},"vmType":{"type":"string","description":"The type of VM (`t2.small` by default). Updating this parameter will trigger a stop/start of the VM.\u003cbr /\u003e For more information, see [VM Types](https://docs.outscale.com/en/userguide/VM-Types.html).\n"}},"type":"object","required":["actionsOnNextBoots","adminPassword","architecture","blockDeviceMappingsCreateds","bootMode","bsuOptimized","clientToken","creationDate","deletionProtection","hypervisor","imageId","isSourceDestChecked","keypairName","launchNumber","netId","osFamily","outscaleVmId","performance","placementSubregionName","placementTenancy","privateDnsName","privateIp","productCodes","publicDnsName","publicIp","requestId","reservationId","rootDeviceName","rootDeviceType","securityGroups","stateReason","subnetId","tpmEnabled","vmId","vmInitiatedShutdownBehavior","vmType"],"inputProperties":{"blockDeviceMappings":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmBlockDeviceMapping:VmBlockDeviceMapping"},"description":"One or more block device mappings.\n"},"bootMode":{"type":"string","description":"The boot mode of the VM. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n"},"bsuOptimized":{"type":"boolean"},"deletionProtection":{"type":"boolean","description":"If true, you cannot delete the VM unless you change this parameter back to false.\n"},"getAdminPassword":{"type":"boolean","description":"(Windows VM only) If true, waits for the administrator password of the VM to become available in order to retrieve the VM. The password is exported to the \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e attribute.\n"},"imageId":{"type":"string","description":"The ID of the OMI used to create the VM. You can find the list of OMIs by calling the [ReadImages](https://docs.outscale.com/api#readimages) method.\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"keypairName":{"type":"string","description":"The name of the keypair.\n"},"keypairNameWo":{"type":"string","description":"The name of the keypair. This write-only parameter is required to use the ephemeral keypair resource.\n"},"nestedVirtualization":{"type":"boolean","description":"(dedicated tenancy only) If true, nested virtualization is enabled. If false, it is disabled.\n"},"nics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmNic:VmNic"},"description":"One or more NICs. If you specify this parameter, you must not specify the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subregionName`\" pulumi-lang-dotnet=\"`SubregionName`\" pulumi-lang-go=\"`subregionName`\" pulumi-lang-python=\"`subregion_name`\" pulumi-lang-yaml=\"`subregionName`\" pulumi-lang-java=\"`subregionName`\"\u003e`subregion_name`\u003c/span\u003e parameters. To define a NIC as the primary network interface of the VM, use the \u003cspan pulumi-lang-nodejs=\"`primaryNic`\" pulumi-lang-dotnet=\"`PrimaryNic`\" pulumi-lang-go=\"`primaryNic`\" pulumi-lang-python=\"`primary_nic`\" pulumi-lang-yaml=\"`primaryNic`\" pulumi-lang-java=\"`primaryNic`\"\u003e`primary_nic`\u003c/span\u003e argument.\n"},"outscaleVmId":{"type":"string"},"performance":{"type":"string","description":"The performance of the VM (\u003cspan pulumi-lang-nodejs=\"`medium`\" pulumi-lang-dotnet=\"`Medium`\" pulumi-lang-go=\"`medium`\" pulumi-lang-python=\"`medium`\" pulumi-lang-yaml=\"`medium`\" pulumi-lang-java=\"`medium`\"\u003e`medium`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`highest`\" pulumi-lang-dotnet=\"`Highest`\" pulumi-lang-go=\"`highest`\" pulumi-lang-python=\"`highest`\" pulumi-lang-yaml=\"`highest`\" pulumi-lang-java=\"`highest`\"\u003e`highest`\u003c/span\u003e). Updating this parameter will trigger a stop/start of the VM.\n"},"placementSubregionName":{"type":"string","description":"The name of the Subregion where the VM is placed.\n"},"placementTenancy":{"type":"string","description":"The tenancy of the VM (\u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e).\n"},"primaryNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmPrimaryNic:VmPrimaryNic"},"description":"The primary network interface of the VM.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"One or more private IPs of the VM.\n"},"secureBootAction":{"type":"string","description":"One action to perform on the next boot of the VM (\u003cspan pulumi-lang-nodejs=\"`enable`\" pulumi-lang-dotnet=\"`Enable`\" pulumi-lang-go=\"`enable`\" pulumi-lang-python=\"`enable`\" pulumi-lang-yaml=\"`enable`\" pulumi-lang-java=\"`enable`\"\u003e`enable`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e | `setup-mode` |\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e).\u003cbr /\u003e For more information, see [About Secure Boot](https://docs.outscale.com/en/userguide/About-Secure-Boot.html#_secure_boot_actions).\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security group for the VMs. You must specify at least one of the following parameters: \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`securityGroupNames`\" pulumi-lang-dotnet=\"`SecurityGroupNames`\" pulumi-lang-go=\"`securityGroupNames`\" pulumi-lang-python=\"`security_group_names`\" pulumi-lang-yaml=\"`securityGroupNames`\" pulumi-lang-java=\"`securityGroupNames`\"\u003e`security_group_names`\u003c/span\u003e.\n"},"securityGroupNames":{"type":"array","items":{"type":"string"},"description":"One or more names of security groups for the VMs. You must specify at least one of the following parameters: \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`securityGroupNames`\" pulumi-lang-dotnet=\"`SecurityGroupNames`\" pulumi-lang-go=\"`securityGroupNames`\" pulumi-lang-python=\"`security_group_names`\" pulumi-lang-yaml=\"`securityGroupNames`\" pulumi-lang-java=\"`securityGroupNames`\"\u003e`security_group_names`\u003c/span\u003e.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e). If set to \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, the VM is stopped regardless of the value of the \u003cspan pulumi-lang-nodejs=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-dotnet=\"`VmInitiatedShutdownBehavior`\" pulumi-lang-go=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-python=\"`vm_initiated_shutdown_behavior`\" pulumi-lang-yaml=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-java=\"`vmInitiatedShutdownBehavior`\"\u003e`vm_initiated_shutdown_behavior`\u003c/span\u003e argument.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the VM. If you specify this parameter, you must not specify the \u003cspan pulumi-lang-nodejs=\"`nics`\" pulumi-lang-dotnet=\"`Nics`\" pulumi-lang-go=\"`nics`\" pulumi-lang-python=\"`nics`\" pulumi-lang-yaml=\"`nics`\" pulumi-lang-java=\"`nics`\"\u003e`nics`\u003c/span\u003e parameter.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmTag:VmTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVmTimeouts:VmTimeouts"},"tpmEnabled":{"type":"boolean","description":"If true, a virtual Trusted Platform Module (vTPM) is enabled on the VM. If false, it is not.\u003cbr /\u003eThe default behavior for \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e varies depending on the source OMI of the VM.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is true, a vTPM has to be attached to the VM and it will be created by default. Setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to false will cause the creation request to fail.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is false, only setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to true will create and attach a vTPM to the VM.\n"},"userData":{"type":"string"},"vmId":{"type":"string","description":"The ID of the VM.\n"},"vmInitiatedShutdownBehavior":{"type":"string","description":"The VM behavior when you stop it. By default or if set to \u003cspan pulumi-lang-nodejs=\"`stop`\" pulumi-lang-dotnet=\"`Stop`\" pulumi-lang-go=\"`stop`\" pulumi-lang-python=\"`stop`\" pulumi-lang-yaml=\"`stop`\" pulumi-lang-java=\"`stop`\"\u003e`stop`\u003c/span\u003e, the VM stops. If set to \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e, the VM stops then automatically restarts. If set to \u003cspan pulumi-lang-nodejs=\"`terminate`\" pulumi-lang-dotnet=\"`Terminate`\" pulumi-lang-go=\"`terminate`\" pulumi-lang-python=\"`terminate`\" pulumi-lang-yaml=\"`terminate`\" pulumi-lang-java=\"`terminate`\"\u003e`terminate`\u003c/span\u003e, the VM stops and is terminated.\n"},"vmType":{"type":"string","description":"The type of VM (`t2.small` by default). Updating this parameter will trigger a stop/start of the VM.\u003cbr /\u003e For more information, see [VM Types](https://docs.outscale.com/en/userguide/VM-Types.html).\n"}},"requiredInputs":["imageId"],"stateInputs":{"description":"Input properties used for looking up and filtering Vm resources.\n","properties":{"actionsOnNextBoots":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmActionsOnNextBoot:VmActionsOnNextBoot"},"description":"The action to perform on the next boot of the VM.\n"},"adminPassword":{"type":"string"},"architecture":{"type":"string","description":"The architecture of the VM (\u003cspan pulumi-lang-nodejs=\"`i386`\" pulumi-lang-dotnet=\"`I386`\" pulumi-lang-go=\"`i386`\" pulumi-lang-python=\"`i386`\" pulumi-lang-yaml=\"`i386`\" pulumi-lang-java=\"`i386`\"\u003e`i386`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\"\u003e`x86_64`\u003c/span\u003e).\n"},"blockDeviceMappings":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmBlockDeviceMapping:VmBlockDeviceMapping"},"description":"One or more block device mappings.\n"},"blockDeviceMappingsCreateds":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmBlockDeviceMappingsCreated:VmBlockDeviceMappingsCreated"},"description":"The block device mapping of the VM.\n"},"bootMode":{"type":"string","description":"The boot mode of the VM. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n"},"bsuOptimized":{"type":"boolean"},"clientToken":{"type":"string","description":"A unique identifier which enables you to manage the idempotency.\n"},"creationDate":{"type":"string","description":"The date and time (UTC) at which the VM was created.\n"},"deletionProtection":{"type":"boolean","description":"If true, you cannot delete the VM unless you change this parameter back to false.\n"},"getAdminPassword":{"type":"boolean","description":"(Windows VM only) If true, waits for the administrator password of the VM to become available in order to retrieve the VM. The password is exported to the \u003cspan pulumi-lang-nodejs=\"`adminPassword`\" pulumi-lang-dotnet=\"`AdminPassword`\" pulumi-lang-go=\"`adminPassword`\" pulumi-lang-python=\"`admin_password`\" pulumi-lang-yaml=\"`adminPassword`\" pulumi-lang-java=\"`adminPassword`\"\u003e`admin_password`\u003c/span\u003e attribute.\n"},"hypervisor":{"type":"string","description":"The hypervisor type of the VMs (\u003cspan pulumi-lang-nodejs=\"`ovm`\" pulumi-lang-dotnet=\"`Ovm`\" pulumi-lang-go=\"`ovm`\" pulumi-lang-python=\"`ovm`\" pulumi-lang-yaml=\"`ovm`\" pulumi-lang-java=\"`ovm`\"\u003e`ovm`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`xen`\" pulumi-lang-dotnet=\"`Xen`\" pulumi-lang-go=\"`xen`\" pulumi-lang-python=\"`xen`\" pulumi-lang-yaml=\"`xen`\" pulumi-lang-java=\"`xen`\"\u003e`xen`\u003c/span\u003e).\n"},"imageId":{"type":"string","description":"The ID of the OMI used to create the VM. You can find the list of OMIs by calling the [ReadImages](https://docs.outscale.com/api#readimages) method.\n"},"isSourceDestChecked":{"type":"boolean","description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n"},"keypairName":{"type":"string","description":"The name of the keypair.\n"},"keypairNameWo":{"type":"string","description":"The name of the keypair. This write-only parameter is required to use the ephemeral keypair resource.\n"},"launchNumber":{"type":"number","description":"The number for the VM when launching a group of several VMs (for example, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and so on).\n"},"nestedVirtualization":{"type":"boolean","description":"(dedicated tenancy only) If true, nested virtualization is enabled. If false, it is disabled.\n"},"netId":{"type":"string","description":"The ID of the Net for the NIC.\n"},"nics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmNic:VmNic"},"description":"One or more NICs. If you specify this parameter, you must not specify the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subregionName`\" pulumi-lang-dotnet=\"`SubregionName`\" pulumi-lang-go=\"`subregionName`\" pulumi-lang-python=\"`subregion_name`\" pulumi-lang-yaml=\"`subregionName`\" pulumi-lang-java=\"`subregionName`\"\u003e`subregion_name`\u003c/span\u003e parameters. To define a NIC as the primary network interface of the VM, use the \u003cspan pulumi-lang-nodejs=\"`primaryNic`\" pulumi-lang-dotnet=\"`PrimaryNic`\" pulumi-lang-go=\"`primaryNic`\" pulumi-lang-python=\"`primary_nic`\" pulumi-lang-yaml=\"`primaryNic`\" pulumi-lang-java=\"`primaryNic`\"\u003e`primary_nic`\u003c/span\u003e argument.\n"},"osFamily":{"type":"string","description":"Indicates the operating system (OS) of the VM.\n"},"outscaleVmId":{"type":"string"},"performance":{"type":"string","description":"The performance of the VM (\u003cspan pulumi-lang-nodejs=\"`medium`\" pulumi-lang-dotnet=\"`Medium`\" pulumi-lang-go=\"`medium`\" pulumi-lang-python=\"`medium`\" pulumi-lang-yaml=\"`medium`\" pulumi-lang-java=\"`medium`\"\u003e`medium`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`highest`\" pulumi-lang-dotnet=\"`Highest`\" pulumi-lang-go=\"`highest`\" pulumi-lang-python=\"`highest`\" pulumi-lang-yaml=\"`highest`\" pulumi-lang-java=\"`highest`\"\u003e`highest`\u003c/span\u003e). Updating this parameter will trigger a stop/start of the VM.\n"},"placementSubregionName":{"type":"string","description":"The name of the Subregion where the VM is placed.\n"},"placementTenancy":{"type":"string","description":"The tenancy of the VM (\u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e).\n"},"primaryNics":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmPrimaryNic:VmPrimaryNic"},"description":"The primary network interface of the VM.\n"},"privateDnsName":{"type":"string","description":"The name of the private DNS.\n"},"privateIp":{"type":"string","description":"The primary private IP of the VM.\n"},"privateIps":{"type":"array","items":{"type":"string"},"description":"One or more private IPs of the VM.\n"},"productCodes":{"type":"array","items":{"type":"string"},"description":"The product codes associated with the OMI used to create the VM.\n"},"publicDnsName":{"type":"string","description":"The name of the public DNS.\n"},"publicIp":{"type":"string","description":"The public IP of the VM.\n"},"requestId":{"type":"string"},"reservationId":{"type":"string","description":"The reservation ID of the VM.\n"},"rootDeviceName":{"type":"string","description":"The name of the root device for the VM (for example, `/dev/sda1`).\n"},"rootDeviceType":{"type":"string","description":"The type of root device used by the VM (always \u003cspan pulumi-lang-nodejs=\"`bsu`\" pulumi-lang-dotnet=\"`Bsu`\" pulumi-lang-go=\"`bsu`\" pulumi-lang-python=\"`bsu`\" pulumi-lang-yaml=\"`bsu`\" pulumi-lang-java=\"`bsu`\"\u003e`bsu`\u003c/span\u003e).\n"},"secureBootAction":{"type":"string","description":"One action to perform on the next boot of the VM (\u003cspan pulumi-lang-nodejs=\"`enable`\" pulumi-lang-dotnet=\"`Enable`\" pulumi-lang-go=\"`enable`\" pulumi-lang-python=\"`enable`\" pulumi-lang-yaml=\"`enable`\" pulumi-lang-java=\"`enable`\"\u003e`enable`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e | `setup-mode` |\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e).\u003cbr /\u003e For more information, see [About Secure Boot](https://docs.outscale.com/en/userguide/About-Secure-Boot.html#_secure_boot_actions).\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security group for the VMs. You must specify at least one of the following parameters: \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`securityGroupNames`\" pulumi-lang-dotnet=\"`SecurityGroupNames`\" pulumi-lang-go=\"`securityGroupNames`\" pulumi-lang-python=\"`security_group_names`\" pulumi-lang-yaml=\"`securityGroupNames`\" pulumi-lang-java=\"`securityGroupNames`\"\u003e`security_group_names`\u003c/span\u003e.\n"},"securityGroupNames":{"type":"array","items":{"type":"string"},"description":"One or more names of security groups for the VMs. You must specify at least one of the following parameters: \u003cspan pulumi-lang-nodejs=\"`securityGroupIds`\" pulumi-lang-dotnet=\"`SecurityGroupIds`\" pulumi-lang-go=\"`securityGroupIds`\" pulumi-lang-python=\"`security_group_ids`\" pulumi-lang-yaml=\"`securityGroupIds`\" pulumi-lang-java=\"`securityGroupIds`\"\u003e`security_group_ids`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`securityGroupNames`\" pulumi-lang-dotnet=\"`SecurityGroupNames`\" pulumi-lang-go=\"`securityGroupNames`\" pulumi-lang-python=\"`security_group_names`\" pulumi-lang-yaml=\"`securityGroupNames`\" pulumi-lang-java=\"`securityGroupNames`\"\u003e`security_group_names`\u003c/span\u003e.\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmSecurityGroup:VmSecurityGroup"},"description":"One or more security groups associated with the VM.\n"},"state":{"type":"string","description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e). If set to \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, the VM is stopped regardless of the value of the \u003cspan pulumi-lang-nodejs=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-dotnet=\"`VmInitiatedShutdownBehavior`\" pulumi-lang-go=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-python=\"`vm_initiated_shutdown_behavior`\" pulumi-lang-yaml=\"`vmInitiatedShutdownBehavior`\" pulumi-lang-java=\"`vmInitiatedShutdownBehavior`\"\u003e`vm_initiated_shutdown_behavior`\u003c/span\u003e argument.\n"},"stateReason":{"type":"string","description":"The reason explaining the current state of the VM.\n"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the VM. If you specify this parameter, you must not specify the \u003cspan pulumi-lang-nodejs=\"`nics`\" pulumi-lang-dotnet=\"`Nics`\" pulumi-lang-go=\"`nics`\" pulumi-lang-python=\"`nics`\" pulumi-lang-yaml=\"`nics`\" pulumi-lang-java=\"`nics`\"\u003e`nics`\u003c/span\u003e parameter.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVmTag:VmTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVmTimeouts:VmTimeouts"},"tpmEnabled":{"type":"boolean","description":"If true, a virtual Trusted Platform Module (vTPM) is enabled on the VM. If false, it is not.\u003cbr /\u003eThe default behavior for \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e varies depending on the source OMI of the VM.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is true, a vTPM has to be attached to the VM and it will be created by default. Setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to false will cause the creation request to fail.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is false, only setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to true will create and attach a vTPM to the VM.\n"},"userData":{"type":"string"},"vmId":{"type":"string","description":"The ID of the VM.\n"},"vmInitiatedShutdownBehavior":{"type":"string","description":"The VM behavior when you stop it. By default or if set to \u003cspan pulumi-lang-nodejs=\"`stop`\" pulumi-lang-dotnet=\"`Stop`\" pulumi-lang-go=\"`stop`\" pulumi-lang-python=\"`stop`\" pulumi-lang-yaml=\"`stop`\" pulumi-lang-java=\"`stop`\"\u003e`stop`\u003c/span\u003e, the VM stops. If set to \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e, the VM stops then automatically restarts. If set to \u003cspan pulumi-lang-nodejs=\"`terminate`\" pulumi-lang-dotnet=\"`Terminate`\" pulumi-lang-go=\"`terminate`\" pulumi-lang-python=\"`terminate`\" pulumi-lang-yaml=\"`terminate`\" pulumi-lang-java=\"`terminate`\"\u003e`terminate`\u003c/span\u003e, the VM stops and is terminated.\n"},"vmType":{"type":"string","description":"The type of VM (`t2.small` by default). Updating this parameter will trigger a stop/start of the VM.\u003cbr /\u003e For more information, see [VM Types](https://docs.outscale.com/en/userguide/VM-Types.html).\n"}},"type":"object"}},"outscale:index/volume:Volume":{"description":"Manages a volume.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Volumes.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-volume).\n\n## Example Usage\n\n### Creating an io1 volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n    subregionName: `${region}a`,\n    size: 10,\n    iops: 100,\n    volumeType: \"io1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume01 = outscale.Volume(\"volume01\",\n    subregion_name=f\"{region}a\",\n    size=10,\n    iops=100,\n    volume_type=\"io1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume01 = new Outscale.Volume(\"volume01\", new()\n    {\n        SubregionName = $\"{region}a\",\n        Size = 10,\n        Iops = 100,\n        VolumeType = \"io1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVolume(ctx, \"volume01\", \u0026outscale.VolumeArgs{\n\t\t\tSubregionName: pulumi.Sprintf(\"%va\", region),\n\t\t\tSize:          pulumi.Float64(10),\n\t\t\tIops:          pulumi.Float64(100),\n\t\t\tVolumeType:    pulumi.String(\"io1\"),\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.outscale.Volume;\nimport com.pulumi.outscale.VolumeArgs;\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        var volume01 = new Volume(\"volume01\", VolumeArgs.builder()\n            .subregionName(String.format(\"%sa\", region))\n            .size(10.0)\n            .iops(100.0)\n            .volumeType(\"io1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume01:\n    type: outscale:Volume\n    properties:\n      subregionName: ${region}a\n      size: 10\n      iops: 100\n      volumeType: io1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating a snapshot before volume deletion\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n    terminationSnapshotName: \"deleting_volume_snap\",\n    subregionName: `${region}a`,\n    size: 40,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume01 = outscale.Volume(\"volume01\",\n    termination_snapshot_name=\"deleting_volume_snap\",\n    subregion_name=f\"{region}a\",\n    size=40)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume01 = new Outscale.Volume(\"volume01\", new()\n    {\n        TerminationSnapshotName = \"deleting_volume_snap\",\n        SubregionName = $\"{region}a\",\n        Size = 40,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVolume(ctx, \"volume01\", \u0026outscale.VolumeArgs{\n\t\t\tTerminationSnapshotName: pulumi.String(\"deleting_volume_snap\"),\n\t\t\tSubregionName:           pulumi.Sprintf(\"%va\", region),\n\t\t\tSize:                    pulumi.Float64(40),\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.outscale.Volume;\nimport com.pulumi.outscale.VolumeArgs;\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        var volume01 = new Volume(\"volume01\", VolumeArgs.builder()\n            .terminationSnapshotName(\"deleting_volume_snap\")\n            .subregionName(String.format(\"%sa\", region))\n            .size(40.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume01:\n    type: outscale:Volume\n    properties:\n      terminationSnapshotName: deleting_volume_snap\n      subregionName: ${region}a\n      size: 40\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA volume can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/volume:Volume ImportedVolume vol-12345678\n```\n\n","properties":{"creationDate":{"type":"string","description":"The date and time (UTC) at which the volume was created.\n"},"iops":{"type":"number","description":"The number of I/O operations per second (IOPS). This parameter must be specified only if you create an \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volume. The maximum number of IOPS allowed for \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volumes is \u003cspan pulumi-lang-nodejs=\"`13000`\" pulumi-lang-dotnet=\"`13000`\" pulumi-lang-go=\"`13000`\" pulumi-lang-python=\"`13000`\" pulumi-lang-yaml=\"`13000`\" pulumi-lang-java=\"`13000`\"\u003e`13000`\u003c/span\u003e with a maximum performance ratio of 300 IOPS per gibibyte.\n"},"linkedVolumes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVolumeLinkedVolume:VolumeLinkedVolume"},"description":"Information about your volume attachment.\n"},"requestId":{"type":"string"},"size":{"type":"number","description":"The size of the volume, in gibibytes (GiB). The maximum allowed size for a volume is 14901 GiB. This parameter is required if the volume is not created from a snapshot (\u003cspan pulumi-lang-nodejs=\"`snapshotId`\" pulumi-lang-dotnet=\"`SnapshotId`\" pulumi-lang-go=\"`snapshotId`\" pulumi-lang-python=\"`snapshot_id`\" pulumi-lang-yaml=\"`snapshotId`\" pulumi-lang-java=\"`snapshotId`\"\u003e`snapshot_id`\u003c/span\u003e unspecified).\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot from which you want to create the volume.\n"},"state":{"type":"string","description":"The state of the volume (\u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e).\n"},"subregionName":{"type":"string","description":"The Subregion in which you want to create the volume.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVolumeTag:VolumeTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"terminationSnapshotName":{"type":"string","description":"Whether you want to create a snapshot before the volume deletion.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVolumeTimeouts:VolumeTimeouts"},"volumeId":{"type":"string","description":"The ID of the volume.\n"},"volumeType":{"type":"string","description":"The type of volume you want to create (\u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e). If not specified, a \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e volume is created.\u003cbr /\u003e\nFor more information about volume types, see [About Volumes \u003e Volume Types and IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_types_and_iops).\n"}},"type":"object","required":["creationDate","iops","linkedVolumes","requestId","size","snapshotId","state","subregionName","volumeId","volumeType"],"inputProperties":{"iops":{"type":"number","description":"The number of I/O operations per second (IOPS). This parameter must be specified only if you create an \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volume. The maximum number of IOPS allowed for \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volumes is \u003cspan pulumi-lang-nodejs=\"`13000`\" pulumi-lang-dotnet=\"`13000`\" pulumi-lang-go=\"`13000`\" pulumi-lang-python=\"`13000`\" pulumi-lang-yaml=\"`13000`\" pulumi-lang-java=\"`13000`\"\u003e`13000`\u003c/span\u003e with a maximum performance ratio of 300 IOPS per gibibyte.\n"},"size":{"type":"number","description":"The size of the volume, in gibibytes (GiB). The maximum allowed size for a volume is 14901 GiB. This parameter is required if the volume is not created from a snapshot (\u003cspan pulumi-lang-nodejs=\"`snapshotId`\" pulumi-lang-dotnet=\"`SnapshotId`\" pulumi-lang-go=\"`snapshotId`\" pulumi-lang-python=\"`snapshot_id`\" pulumi-lang-yaml=\"`snapshotId`\" pulumi-lang-java=\"`snapshotId`\"\u003e`snapshot_id`\u003c/span\u003e unspecified).\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot from which you want to create the volume.\n"},"subregionName":{"type":"string","description":"The Subregion in which you want to create the volume.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVolumeTag:VolumeTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"terminationSnapshotName":{"type":"string","description":"Whether you want to create a snapshot before the volume deletion.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVolumeTimeouts:VolumeTimeouts"},"volumeType":{"type":"string","description":"The type of volume you want to create (\u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e). If not specified, a \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e volume is created.\u003cbr /\u003e\nFor more information about volume types, see [About Volumes \u003e Volume Types and IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_types_and_iops).\n"}},"requiredInputs":["subregionName"],"stateInputs":{"description":"Input properties used for looking up and filtering Volume resources.\n","properties":{"creationDate":{"type":"string","description":"The date and time (UTC) at which the volume was created.\n"},"iops":{"type":"number","description":"The number of I/O operations per second (IOPS). This parameter must be specified only if you create an \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volume. The maximum number of IOPS allowed for \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volumes is \u003cspan pulumi-lang-nodejs=\"`13000`\" pulumi-lang-dotnet=\"`13000`\" pulumi-lang-go=\"`13000`\" pulumi-lang-python=\"`13000`\" pulumi-lang-yaml=\"`13000`\" pulumi-lang-java=\"`13000`\"\u003e`13000`\u003c/span\u003e with a maximum performance ratio of 300 IOPS per gibibyte.\n"},"linkedVolumes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVolumeLinkedVolume:VolumeLinkedVolume"},"description":"Information about your volume attachment.\n"},"requestId":{"type":"string"},"size":{"type":"number","description":"The size of the volume, in gibibytes (GiB). The maximum allowed size for a volume is 14901 GiB. This parameter is required if the volume is not created from a snapshot (\u003cspan pulumi-lang-nodejs=\"`snapshotId`\" pulumi-lang-dotnet=\"`SnapshotId`\" pulumi-lang-go=\"`snapshotId`\" pulumi-lang-python=\"`snapshot_id`\" pulumi-lang-yaml=\"`snapshotId`\" pulumi-lang-java=\"`snapshotId`\"\u003e`snapshot_id`\u003c/span\u003e unspecified).\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot from which you want to create the volume.\n"},"state":{"type":"string","description":"The state of the volume (\u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e).\n"},"subregionName":{"type":"string","description":"The Subregion in which you want to create the volume.\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVolumeTag:VolumeTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"terminationSnapshotName":{"type":"string","description":"Whether you want to create a snapshot before the volume deletion.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVolumeTimeouts:VolumeTimeouts"},"volumeId":{"type":"string","description":"The ID of the volume.\n"},"volumeType":{"type":"string","description":"The type of volume you want to create (\u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e). If not specified, a \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e volume is created.\u003cbr /\u003e\nFor more information about volume types, see [About Volumes \u003e Volume Types and IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_types_and_iops).\n"}},"type":"object"}},"outscale:index/volumeLink:VolumeLink":{"description":"Manages a volume link.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Volumes.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-volume).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n    subregionName: `${region}a`,\n    size: 40,\n});\nconst vm01 = new outscale.Vm(\"vm01\", {\n    imageId: imageId,\n    vmType: vmType,\n    keypairName: keypairName,\n    securityGroupIds: [securityGroupId],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume01 = outscale.Volume(\"volume01\",\n    subregion_name=f\"{region}a\",\n    size=40)\nvm01 = outscale.Vm(\"vm01\",\n    image_id=image_id,\n    vm_type=vm_type,\n    keypair_name=keypair_name,\n    security_group_ids=[security_group_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume01 = new Outscale.Volume(\"volume01\", new()\n    {\n        SubregionName = $\"{region}a\",\n        Size = 40,\n    });\n\n    var vm01 = new Outscale.Vm(\"vm01\", new()\n    {\n        ImageId = imageId,\n        VmType = vmType,\n        KeypairName = keypairName,\n        SecurityGroupIds = new[]\n        {\n            securityGroupId,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVolume(ctx, \"volume01\", \u0026outscale.VolumeArgs{\n\t\t\tSubregionName: pulumi.Sprintf(\"%va\", region),\n\t\t\tSize:          pulumi.Float64(40),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewVm(ctx, \"vm01\", \u0026outscale.VmArgs{\n\t\t\tImageId:     pulumi.Any(imageId),\n\t\t\tVmType:      pulumi.Any(vmType),\n\t\t\tKeypairName: pulumi.Any(keypairName),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsecurityGroupId,\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.outscale.Volume;\nimport com.pulumi.outscale.VolumeArgs;\nimport com.pulumi.outscale.Vm;\nimport com.pulumi.outscale.VmArgs;\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        var volume01 = new Volume(\"volume01\", VolumeArgs.builder()\n            .subregionName(String.format(\"%sa\", region))\n            .size(40.0)\n            .build());\n\n        var vm01 = new Vm(\"vm01\", VmArgs.builder()\n            .imageId(imageId)\n            .vmType(vmType)\n            .keypairName(keypairName)\n            .securityGroupIds(securityGroupId)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume01:\n    type: outscale:Volume\n    properties:\n      subregionName: ${region}a\n      size: 40\n  vm01:\n    type: outscale:Vm\n    properties:\n      imageId: ${imageId}\n      vmType: ${vmType}\n      keypairName: ${keypairName}\n      securityGroupIds:\n        - ${securityGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Link a volume to a VM\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volumeLink01 = new outscale.VolumeLink(\"volume_link01\", {\n    deviceName: \"/dev/xvdc\",\n    volumeId: volume01.id,\n    vmId: vm01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume_link01 = outscale.VolumeLink(\"volume_link01\",\n    device_name=\"/dev/xvdc\",\n    volume_id=volume01[\"id\"],\n    vm_id=vm01[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volumeLink01 = new Outscale.VolumeLink(\"volume_link01\", new()\n    {\n        DeviceName = \"/dev/xvdc\",\n        VolumeId = volume01.Id,\n        VmId = vm01.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVolumeLink(ctx, \"volume_link01\", \u0026outscale.VolumeLinkArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/xvdc\"),\n\t\t\tVolumeId:   pulumi.Any(volume01.Id),\n\t\t\tVmId:       pulumi.Any(vm01.Id),\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.outscale.VolumeLink;\nimport com.pulumi.outscale.VolumeLinkArgs;\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        var volumeLink01 = new VolumeLink(\"volumeLink01\", VolumeLinkArgs.builder()\n            .deviceName(\"/dev/xvdc\")\n            .volumeId(volume01.id())\n            .vmId(vm01.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volumeLink01:\n    type: outscale:VolumeLink\n    name: volume_link01\n    properties:\n      deviceName: /dev/xvdc\n      volumeId: ${volume01.id}\n      vmId: ${vm01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA volume link can be imported using a volume ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/volumeLink:VolumeLink ImportedVolumeLink vol-12345678\n```\n\n","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.\n"},"deviceName":{"type":"string","description":"The name of the device. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`b`\" pulumi-lang-dotnet=\"`B`\" pulumi-lang-go=\"`b`\" pulumi-lang-python=\"`b`\" pulumi-lang-yaml=\"`b`\" pulumi-lang-java=\"`b`\"\u003e`b`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e, and the second `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`a`\" pulumi-lang-dotnet=\"`A`\" pulumi-lang-go=\"`a`\" pulumi-lang-python=\"`a`\" pulumi-lang-yaml=\"`a`\" pulumi-lang-java=\"`a`\"\u003e`a`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e).\n"},"forceUnlink":{"type":"boolean"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the attachment of the volume (\u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`attached`\" pulumi-lang-dotnet=\"`Attached`\" pulumi-lang-go=\"`attached`\" pulumi-lang-python=\"`attached`\" pulumi-lang-yaml=\"`attached`\" pulumi-lang-java=\"`attached`\"\u003e`attached`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`detached`\" pulumi-lang-dotnet=\"`Detached`\" pulumi-lang-go=\"`detached`\" pulumi-lang-python=\"`detached`\" pulumi-lang-yaml=\"`detached`\" pulumi-lang-java=\"`detached`\"\u003e`detached`\u003c/span\u003e).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVolumeLinkTimeouts:VolumeLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM you want to attach the volume to.\n"},"volumeId":{"type":"string","description":"The ID of the volume you want to attach.\n"}},"type":"object","required":["deleteOnVmDeletion","deviceName","forceUnlink","requestId","state","vmId","volumeId"],"inputProperties":{"deviceName":{"type":"string","description":"The name of the device. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`b`\" pulumi-lang-dotnet=\"`B`\" pulumi-lang-go=\"`b`\" pulumi-lang-python=\"`b`\" pulumi-lang-yaml=\"`b`\" pulumi-lang-java=\"`b`\"\u003e`b`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e, and the second `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`a`\" pulumi-lang-dotnet=\"`A`\" pulumi-lang-go=\"`a`\" pulumi-lang-python=\"`a`\" pulumi-lang-yaml=\"`a`\" pulumi-lang-java=\"`a`\"\u003e`a`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e).\n"},"forceUnlink":{"type":"boolean"},"timeouts":{"$ref":"#/types/outscale:index%2FVolumeLinkTimeouts:VolumeLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM you want to attach the volume to.\n"},"volumeId":{"type":"string","description":"The ID of the volume you want to attach.\n"}},"requiredInputs":["deviceName","vmId","volumeId"],"stateInputs":{"description":"Input properties used for looking up and filtering VolumeLink resources.\n","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.\n"},"deviceName":{"type":"string","description":"The name of the device. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`b`\" pulumi-lang-dotnet=\"`B`\" pulumi-lang-go=\"`b`\" pulumi-lang-python=\"`b`\" pulumi-lang-yaml=\"`b`\" pulumi-lang-java=\"`b`\"\u003e`b`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e, and the second `X` is a letter between \u003cspan pulumi-lang-nodejs=\"`a`\" pulumi-lang-dotnet=\"`A`\" pulumi-lang-go=\"`a`\" pulumi-lang-python=\"`a`\" pulumi-lang-yaml=\"`a`\" pulumi-lang-java=\"`a`\"\u003e`a`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`z`\" pulumi-lang-dotnet=\"`Z`\" pulumi-lang-go=\"`z`\" pulumi-lang-python=\"`z`\" pulumi-lang-yaml=\"`z`\" pulumi-lang-java=\"`z`\"\u003e`z`\u003c/span\u003e).\n"},"forceUnlink":{"type":"boolean"},"requestId":{"type":"string"},"state":{"type":"string","description":"The state of the attachment of the volume (\u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`attached`\" pulumi-lang-dotnet=\"`Attached`\" pulumi-lang-go=\"`attached`\" pulumi-lang-python=\"`attached`\" pulumi-lang-yaml=\"`attached`\" pulumi-lang-java=\"`attached`\"\u003e`attached`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`detached`\" pulumi-lang-dotnet=\"`Detached`\" pulumi-lang-go=\"`detached`\" pulumi-lang-python=\"`detached`\" pulumi-lang-yaml=\"`detached`\" pulumi-lang-java=\"`detached`\"\u003e`detached`\u003c/span\u003e).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVolumeLinkTimeouts:VolumeLinkTimeouts"},"vmId":{"type":"string","description":"The ID of the VM you want to attach the volume to.\n"},"volumeId":{"type":"string","description":"The ID of the volume you want to attach.\n"}},"type":"object"}},"outscale:index/vpnConnection:VpnConnection":{"description":"Manages a VPN connection.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-VPN-Connections.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-vpnconnection).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst clientGateway01 = new outscale.ClientGateway(\"client_gateway01\", {\n    bgpAsn: 65000,\n    publicIp: \"111.11.11.111\",\n    connectionType: \"ipsec.1\",\n});\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtual_gateway01\", {connectionType: \"ipsec.1\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nclient_gateway01 = outscale.ClientGateway(\"client_gateway01\",\n    bgp_asn=65000,\n    public_ip=\"111.11.11.111\",\n    connection_type=\"ipsec.1\")\nvirtual_gateway01 = outscale.VirtualGateway(\"virtual_gateway01\", connection_type=\"ipsec.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clientGateway01 = new Outscale.ClientGateway(\"client_gateway01\", new()\n    {\n        BgpAsn = 65000,\n        PublicIp = \"111.11.11.111\",\n        ConnectionType = \"ipsec.1\",\n    });\n\n    var virtualGateway01 = new Outscale.VirtualGateway(\"virtual_gateway01\", new()\n    {\n        ConnectionType = \"ipsec.1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewClientGateway(ctx, \"client_gateway01\", \u0026outscale.ClientGatewayArgs{\n\t\t\tBgpAsn:         pulumi.Float64(65000),\n\t\t\tPublicIp:       pulumi.String(\"111.11.11.111\"),\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewVirtualGateway(ctx, \"virtual_gateway01\", \u0026outscale.VirtualGatewayArgs{\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\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.outscale.ClientGateway;\nimport com.pulumi.outscale.ClientGatewayArgs;\nimport com.pulumi.outscale.VirtualGateway;\nimport com.pulumi.outscale.VirtualGatewayArgs;\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        var clientGateway01 = new ClientGateway(\"clientGateway01\", ClientGatewayArgs.builder()\n            .bgpAsn(65000.0)\n            .publicIp(\"111.11.11.111\")\n            .connectionType(\"ipsec.1\")\n            .build());\n\n        var virtualGateway01 = new VirtualGateway(\"virtualGateway01\", VirtualGatewayArgs.builder()\n            .connectionType(\"ipsec.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  clientGateway01:\n    type: outscale:ClientGateway\n    name: client_gateway01\n    properties:\n      bgpAsn: 65000\n      publicIp: 111.11.11.111\n      connectionType: ipsec.1\n  virtualGateway01:\n    type: outscale:VirtualGateway\n    name: virtual_gateway01\n    properties:\n      connectionType: ipsec.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a VPN connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vpnConnection01 = new outscale.VpnConnection(\"vpn_connection01\", {\n    clientGatewayId: clientGateway01.clientGatewayId,\n    virtualGatewayId: virtualGateway01.virtualGatewayId,\n    connectionType: \"ipsec.1\",\n    staticRoutesOnly: true,\n    tags: [{\n        key: \"Name\",\n        value: \"vpn01\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvpn_connection01 = outscale.VpnConnection(\"vpn_connection01\",\n    client_gateway_id=client_gateway01[\"clientGatewayId\"],\n    virtual_gateway_id=virtual_gateway01[\"virtualGatewayId\"],\n    connection_type=\"ipsec.1\",\n    static_routes_only=True,\n    tags=[{\n        \"key\": \"Name\",\n        \"value\": \"vpn01\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpnConnection01 = new Outscale.VpnConnection(\"vpn_connection01\", new()\n    {\n        ClientGatewayId = clientGateway01.ClientGatewayId,\n        VirtualGatewayId = virtualGateway01.VirtualGatewayId,\n        ConnectionType = \"ipsec.1\",\n        StaticRoutesOnly = true,\n        Tags = new[]\n        {\n            new Outscale.Inputs.VpnConnectionTagArgs\n            {\n                Key = \"Name\",\n                Value = \"vpn01\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVpnConnection(ctx, \"vpn_connection01\", \u0026outscale.VpnConnectionArgs{\n\t\t\tClientGatewayId:  pulumi.Any(clientGateway01.ClientGatewayId),\n\t\t\tVirtualGatewayId: pulumi.Any(virtualGateway01.VirtualGatewayId),\n\t\t\tConnectionType:   pulumi.String(\"ipsec.1\"),\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\n\t\t\tTags: outscale.VpnConnectionTagArray{\n\t\t\t\t\u0026outscale.VpnConnectionTagArgs{\n\t\t\t\t\tKey:   pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"vpn01\"),\n\t\t\t\t},\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.outscale.VpnConnection;\nimport com.pulumi.outscale.VpnConnectionArgs;\nimport com.pulumi.outscale.inputs.VpnConnectionTagArgs;\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        var vpnConnection01 = new VpnConnection(\"vpnConnection01\", VpnConnectionArgs.builder()\n            .clientGatewayId(clientGateway01.clientGatewayId())\n            .virtualGatewayId(virtualGateway01.virtualGatewayId())\n            .connectionType(\"ipsec.1\")\n            .staticRoutesOnly(true)\n            .tags(VpnConnectionTagArgs.builder()\n                .key(\"Name\")\n                .value(\"vpn01\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpnConnection01:\n    type: outscale:VpnConnection\n    name: vpn_connection01\n    properties:\n      clientGatewayId: ${clientGateway01.clientGatewayId}\n      virtualGatewayId: ${virtualGateway01.virtualGatewayId}\n      connectionType: ipsec.1\n      staticRoutesOnly: true\n      tags:\n        - key: Name\n          value: vpn01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA VPN connection can be imported using its ID. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/vpnConnection:VpnConnection ImportedVPN vpn-12345678\n```\n\n","properties":{"clientGatewayConfiguration":{"type":"string","description":"Example configuration for the client gateway.\n"},"clientGatewayId":{"type":"string","description":"The ID of the client gateway.\n"},"connectionType":{"type":"string","description":"The type of VPN connection (always `ipsec.1`).\n"},"outscaleVpnConnectionId":{"type":"string"},"requestId":{"type":"string"},"routes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVpnConnectionRoute:VpnConnectionRoute"},"description":"Information about one or more static routes associated with the VPN connection, if any.\n"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n"},"staticRoutesOnly":{"type":"boolean","description":"By default or if false, the VPN connection uses dynamic routing with Border Gateway Protocol (BGP). If true, routing is controlled using static routes. For more information about how to create and delete static routes, see [CreateVpnConnectionRoute](https://docs.outscale.com/api#createvpnconnectionroute) and [DeleteVpnConnectionRoute](https://docs.outscale.com/api#deletevpnconnectionroute).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVpnConnectionTag:VpnConnectionTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVpnConnectionTimeouts:VpnConnectionTimeouts"},"vgwTelemetries":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVpnConnectionVgwTelemetry:VpnConnectionVgwTelemetry"},"description":"Information about the current state of one or more of the VPN tunnels.\n"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"},"vpnConnectionId":{"type":"string","description":"The ID of the VPN connection.\n"}},"type":"object","required":["clientGatewayConfiguration","clientGatewayId","connectionType","outscaleVpnConnectionId","requestId","routes","state","vgwTelemetries","virtualGatewayId","vpnConnectionId"],"inputProperties":{"clientGatewayId":{"type":"string","description":"The ID of the client gateway.\n"},"connectionType":{"type":"string","description":"The type of VPN connection (always `ipsec.1`).\n"},"outscaleVpnConnectionId":{"type":"string"},"staticRoutesOnly":{"type":"boolean","description":"By default or if false, the VPN connection uses dynamic routing with Border Gateway Protocol (BGP). If true, routing is controlled using static routes. For more information about how to create and delete static routes, see [CreateVpnConnectionRoute](https://docs.outscale.com/api#createvpnconnectionroute) and [DeleteVpnConnectionRoute](https://docs.outscale.com/api#deletevpnconnectionroute).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVpnConnectionTag:VpnConnectionTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVpnConnectionTimeouts:VpnConnectionTimeouts"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"}},"requiredInputs":["clientGatewayId","connectionType","virtualGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnConnection resources.\n","properties":{"clientGatewayConfiguration":{"type":"string","description":"Example configuration for the client gateway.\n"},"clientGatewayId":{"type":"string","description":"The ID of the client gateway.\n"},"connectionType":{"type":"string","description":"The type of VPN connection (always `ipsec.1`).\n"},"outscaleVpnConnectionId":{"type":"string"},"requestId":{"type":"string"},"routes":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVpnConnectionRoute:VpnConnectionRoute"},"description":"Information about one or more static routes associated with the VPN connection, if any.\n"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n"},"staticRoutesOnly":{"type":"boolean","description":"By default or if false, the VPN connection uses dynamic routing with Border Gateway Protocol (BGP). If true, routing is controlled using static routes. For more information about how to create and delete static routes, see [CreateVpnConnectionRoute](https://docs.outscale.com/api#createvpnconnectionroute) and [DeleteVpnConnectionRoute](https://docs.outscale.com/api#deletevpnconnectionroute).\n"},"tags":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVpnConnectionTag:VpnConnectionTag"},"description":"A tag to add to this resource. You can specify this argument several times.\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVpnConnectionTimeouts:VpnConnectionTimeouts"},"vgwTelemetries":{"type":"array","items":{"$ref":"#/types/outscale:index%2FVpnConnectionVgwTelemetry:VpnConnectionVgwTelemetry"},"description":"Information about the current state of one or more of the VPN tunnels.\n"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"},"vpnConnectionId":{"type":"string","description":"The ID of the VPN connection.\n"}},"type":"object"}},"outscale:index/vpnConnectionRoute:VpnConnectionRoute":{"description":"Manages a VPN connection route.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Routing-Configuration-for-VPN-Connections.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-vpnconnection).\n\n## Example Usage\n\n### Required resources\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst clientGateway01 = new outscale.ClientGateway(\"client_gateway01\", {\n    bgpAsn: 65000,\n    publicIp: \"111.11.11.111\",\n    connectionType: \"ipsec.1\",\n});\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtual_gateway01\", {connectionType: \"ipsec.1\"});\nconst vpnConnection01 = new outscale.VpnConnection(\"vpn_connection01\", {\n    clientGatewayId: clientGateway01.clientGatewayId,\n    virtualGatewayId: virtualGateway01.virtualGatewayId,\n    connectionType: \"ipsec.1\",\n    staticRoutesOnly: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nclient_gateway01 = outscale.ClientGateway(\"client_gateway01\",\n    bgp_asn=65000,\n    public_ip=\"111.11.11.111\",\n    connection_type=\"ipsec.1\")\nvirtual_gateway01 = outscale.VirtualGateway(\"virtual_gateway01\", connection_type=\"ipsec.1\")\nvpn_connection01 = outscale.VpnConnection(\"vpn_connection01\",\n    client_gateway_id=client_gateway01.client_gateway_id,\n    virtual_gateway_id=virtual_gateway01.virtual_gateway_id,\n    connection_type=\"ipsec.1\",\n    static_routes_only=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clientGateway01 = new Outscale.ClientGateway(\"client_gateway01\", new()\n    {\n        BgpAsn = 65000,\n        PublicIp = \"111.11.11.111\",\n        ConnectionType = \"ipsec.1\",\n    });\n\n    var virtualGateway01 = new Outscale.VirtualGateway(\"virtual_gateway01\", new()\n    {\n        ConnectionType = \"ipsec.1\",\n    });\n\n    var vpnConnection01 = new Outscale.VpnConnection(\"vpn_connection01\", new()\n    {\n        ClientGatewayId = clientGateway01.ClientGatewayId,\n        VirtualGatewayId = virtualGateway01.VirtualGatewayId,\n        ConnectionType = \"ipsec.1\",\n        StaticRoutesOnly = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tclientGateway01, err := outscale.NewClientGateway(ctx, \"client_gateway01\", \u0026outscale.ClientGatewayArgs{\n\t\t\tBgpAsn:         pulumi.Float64(65000),\n\t\t\tPublicIp:       pulumi.String(\"111.11.11.111\"),\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvirtualGateway01, err := outscale.NewVirtualGateway(ctx, \"virtual_gateway01\", \u0026outscale.VirtualGatewayArgs{\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewVpnConnection(ctx, \"vpn_connection01\", \u0026outscale.VpnConnectionArgs{\n\t\t\tClientGatewayId:  clientGateway01.ClientGatewayId,\n\t\t\tVirtualGatewayId: virtualGateway01.VirtualGatewayId,\n\t\t\tConnectionType:   pulumi.String(\"ipsec.1\"),\n\t\t\tStaticRoutesOnly: pulumi.Bool(true),\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.outscale.ClientGateway;\nimport com.pulumi.outscale.ClientGatewayArgs;\nimport com.pulumi.outscale.VirtualGateway;\nimport com.pulumi.outscale.VirtualGatewayArgs;\nimport com.pulumi.outscale.VpnConnection;\nimport com.pulumi.outscale.VpnConnectionArgs;\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        var clientGateway01 = new ClientGateway(\"clientGateway01\", ClientGatewayArgs.builder()\n            .bgpAsn(65000.0)\n            .publicIp(\"111.11.11.111\")\n            .connectionType(\"ipsec.1\")\n            .build());\n\n        var virtualGateway01 = new VirtualGateway(\"virtualGateway01\", VirtualGatewayArgs.builder()\n            .connectionType(\"ipsec.1\")\n            .build());\n\n        var vpnConnection01 = new VpnConnection(\"vpnConnection01\", VpnConnectionArgs.builder()\n            .clientGatewayId(clientGateway01.clientGatewayId())\n            .virtualGatewayId(virtualGateway01.virtualGatewayId())\n            .connectionType(\"ipsec.1\")\n            .staticRoutesOnly(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  clientGateway01:\n    type: outscale:ClientGateway\n    name: client_gateway01\n    properties:\n      bgpAsn: 65000\n      publicIp: 111.11.11.111\n      connectionType: ipsec.1\n  virtualGateway01:\n    type: outscale:VirtualGateway\n    name: virtual_gateway01\n    properties:\n      connectionType: ipsec.1\n  vpnConnection01:\n    type: outscale:VpnConnection\n    name: vpn_connection01\n    properties:\n      clientGatewayId: ${clientGateway01.clientGatewayId}\n      virtualGatewayId: ${virtualGateway01.virtualGatewayId}\n      connectionType: ipsec.1\n      staticRoutesOnly: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a static route to a VPN connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vpnConnectionRoute01 = new outscale.VpnConnectionRoute(\"vpn_connection_route01\", {\n    vpnConnectionId: vpnConnection01.vpnConnectionId,\n    destinationIpRange: \"10.0.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvpn_connection_route01 = outscale.VpnConnectionRoute(\"vpn_connection_route01\",\n    vpn_connection_id=vpn_connection01[\"vpnConnectionId\"],\n    destination_ip_range=\"10.0.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpnConnectionRoute01 = new Outscale.VpnConnectionRoute(\"vpn_connection_route01\", new()\n    {\n        VpnConnectionId = vpnConnection01.VpnConnectionId,\n        DestinationIpRange = \"10.0.0.0/16\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.NewVpnConnectionRoute(ctx, \"vpn_connection_route01\", \u0026outscale.VpnConnectionRouteArgs{\n\t\t\tVpnConnectionId:    pulumi.Any(vpnConnection01.VpnConnectionId),\n\t\t\tDestinationIpRange: pulumi.String(\"10.0.0.0/16\"),\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.outscale.VpnConnectionRoute;\nimport com.pulumi.outscale.VpnConnectionRouteArgs;\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        var vpnConnectionRoute01 = new VpnConnectionRoute(\"vpnConnectionRoute01\", VpnConnectionRouteArgs.builder()\n            .vpnConnectionId(vpnConnection01.vpnConnectionId())\n            .destinationIpRange(\"10.0.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpnConnectionRoute01:\n    type: outscale:VpnConnectionRoute\n    name: vpn_connection_route01\n    properties:\n      vpnConnectionId: ${vpnConnection01.vpnConnectionId}\n      destinationIpRange: 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA VPN connection route can be imported using the VPN connection ID and the route destination IP range. For example:\n\nconsole\n\n```sh\n$ pulumi import outscale:index/vpnConnectionRoute:VpnConnectionRoute ImportedRoute vpn-12345678_10.0.0.0/0\n```\n\n","properties":{"destinationIpRange":{"type":"string","description":"The network prefix of the route, in CIDR notation (for example, `10.12.0.0/16`).\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FVpnConnectionRouteTimeouts:VpnConnectionRouteTimeouts"},"vpnConnectionId":{"type":"string","description":"The ID of the target VPN connection of the static route.\n"},"vpnConnectionRouteId":{"type":"string"}},"type":"object","required":["destinationIpRange","requestId","vpnConnectionId","vpnConnectionRouteId"],"inputProperties":{"destinationIpRange":{"type":"string","description":"The network prefix of the route, in CIDR notation (for example, `10.12.0.0/16`).\n"},"timeouts":{"$ref":"#/types/outscale:index%2FVpnConnectionRouteTimeouts:VpnConnectionRouteTimeouts"},"vpnConnectionId":{"type":"string","description":"The ID of the target VPN connection of the static route.\n"},"vpnConnectionRouteId":{"type":"string"}},"requiredInputs":["destinationIpRange","vpnConnectionId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnConnectionRoute resources.\n","properties":{"destinationIpRange":{"type":"string","description":"The network prefix of the route, in CIDR notation (for example, `10.12.0.0/16`).\n"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FVpnConnectionRouteTimeouts:VpnConnectionRouteTimeouts"},"vpnConnectionId":{"type":"string","description":"The ID of the target VPN connection of the static route.\n"},"vpnConnectionRouteId":{"type":"string"}},"type":"object"}}},"functions":{"outscale:index/getAccessKey:getAccessKey":{"description":"Provides information about an access key.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Access-Keys.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-accesskey).\n\n## Example Usage\n\n### Get one of your own access keys (root account or user)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst accessKey01 = outscale.getAccessKey({\n    filters: [{\n        name: \"access_key_ids\",\n        values: [\"ABCDEFGHIJ0123456789\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\naccess_key01 = outscale.get_access_key(filters=[{\n    \"name\": \"access_key_ids\",\n    \"values\": [\"ABCDEFGHIJ0123456789\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var accessKey01 = Outscale.GetAccessKey.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetAccessKeyFilterInputArgs\n            {\n                Name = \"access_key_ids\",\n                Values = new[]\n                {\n                    \"ABCDEFGHIJ0123456789\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupAccessKey(ctx, \u0026outscale.LookupAccessKeyArgs{\n\t\t\tFilters: []outscale.GetAccessKeyFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"access_key_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ABCDEFGHIJ0123456789\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetAccessKeyArgs;\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 accessKey01 = OutscaleFunctions.getAccessKey(GetAccessKeyArgs.builder()\n            .filters(GetAccessKeyFilterArgs.builder()\n                .name(\"access_key_ids\")\n                .values(\"ABCDEFGHIJ0123456789\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  accessKey01:\n    fn::invoke:\n      function: outscale:getAccessKey\n      arguments:\n        filters:\n          - name: access_key_ids\n            values:\n              - ABCDEFGHIJ0123456789\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get the access key of another user\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst accessKey01 = outscale.getAccessKey({\n    userName: \"user_name\",\n    filters: [\n        {\n            name: \"access_key_ids\",\n            values: [\"XXXXXXXXX\"],\n        },\n        {\n            name: \"states\",\n            values: [\"ACTIVE\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\naccess_key01 = outscale.get_access_key(user_name=\"user_name\",\n    filters=[\n        {\n            \"name\": \"access_key_ids\",\n            \"values\": [\"XXXXXXXXX\"],\n        },\n        {\n            \"name\": \"states\",\n            \"values\": [\"ACTIVE\"],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var accessKey01 = Outscale.GetAccessKey.Invoke(new()\n    {\n        UserName = \"user_name\",\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetAccessKeyFilterInputArgs\n            {\n                Name = \"access_key_ids\",\n                Values = new[]\n                {\n                    \"XXXXXXXXX\",\n                },\n            },\n            new Outscale.Inputs.GetAccessKeyFilterInputArgs\n            {\n                Name = \"states\",\n                Values = new[]\n                {\n                    \"ACTIVE\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupAccessKey(ctx, \u0026outscale.LookupAccessKeyArgs{\n\t\t\tUserName: pulumi.StringRef(\"user_name\"),\n\t\t\tFilters: []outscale.GetAccessKeyFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"access_key_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"XXXXXXXXX\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ACTIVE\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetAccessKeyArgs;\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 accessKey01 = OutscaleFunctions.getAccessKey(GetAccessKeyArgs.builder()\n            .userName(\"user_name\")\n            .filters(            \n                GetAccessKeyFilterArgs.builder()\n                    .name(\"access_key_ids\")\n                    .values(\"XXXXXXXXX\")\n                    .build(),\n                GetAccessKeyFilterArgs.builder()\n                    .name(\"states\")\n                    .values(\"ACTIVE\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  accessKey01:\n    fn::invoke:\n      function: outscale:getAccessKey\n      arguments:\n        userName: user_name\n        filters:\n          - name: access_key_ids\n            values:\n              - XXXXXXXXX\n          - name: states\n            values:\n              - ACTIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccessKey.\n","properties":{"accessKeyId":{"type":"string","description":"The ID of the access key.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetAccessKeyFilter:getAccessKeyFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"state":{"type":"string","description":"The state of the access key (`ACTIVE` if the key is valid for API calls, or `INACTIVE` if not).\n"},"userName":{"type":"string","description":"The name of the EIM user. By default, the user who sends the request (which can be the root account).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccessKey.\n","properties":{"accessKeyId":{"description":"The ID of the access key.\n","type":"string"},"creationDate":{"description":"The date and time (UTC) at which the access key was created.\n","type":"string"},"expirationDate":{"description":"The date and time (UTC) at which the access key expires.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetAccessKeyFilter:getAccessKeyFilter"},"type":"array"},"id":{"type":"string"},"lastModificationDate":{"description":"The date and time (UTC) at which the access key was last modified.\n","type":"string"},"requestId":{"type":"string"},"state":{"description":"The state of the access key (`ACTIVE` if the key is valid for API calls, or `INACTIVE` if not).\n","type":"string"},"userName":{"type":"string"}},"required":["creationDate","expirationDate","id","lastModificationDate","requestId"],"type":"object"}},"outscale:index/getAccessKeys:getAccessKeys":{"description":"Provides information about access keys.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Access-Keys.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-accesskey).\n\n## Example Usage\n\n### Get your own access keys (root account or user)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst accessKeys01 = outscale.getAccessKeys({\n    filters: [{\n        name: \"access_key_ids\",\n        values: [\n            \"ABCDEFGHIJ0123456789\",\n            \"0123456789ABCDEFGHIJ\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\naccess_keys01 = outscale.get_access_keys(filters=[{\n    \"name\": \"access_key_ids\",\n    \"values\": [\n        \"ABCDEFGHIJ0123456789\",\n        \"0123456789ABCDEFGHIJ\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var accessKeys01 = Outscale.GetAccessKeys.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetAccessKeysFilterInputArgs\n            {\n                Name = \"access_key_ids\",\n                Values = new[]\n                {\n                    \"ABCDEFGHIJ0123456789\",\n                    \"0123456789ABCDEFGHIJ\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetAccessKeys(ctx, \u0026outscale.GetAccessKeysArgs{\n\t\t\tFilters: []outscale.GetAccessKeysFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"access_key_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ABCDEFGHIJ0123456789\",\n\t\t\t\t\t\t\"0123456789ABCDEFGHIJ\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetAccessKeysArgs;\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 accessKeys01 = OutscaleFunctions.getAccessKeys(GetAccessKeysArgs.builder()\n            .filters(GetAccessKeysFilterArgs.builder()\n                .name(\"access_key_ids\")\n                .values(                \n                    \"ABCDEFGHIJ0123456789\",\n                    \"0123456789ABCDEFGHIJ\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  accessKeys01:\n    fn::invoke:\n      function: outscale:getAccessKeys\n      arguments:\n        filters:\n          - name: access_key_ids\n            values:\n              - ABCDEFGHIJ0123456789\n              - 0123456789ABCDEFGHIJ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get the access keys of another user\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst accessKeys = outscale.getAccessKeys({\n    userName: \"user_name\",\n    filters: [\n        {\n            name: \"access_key_ids\",\n            values: [\n                \"XXXXXXXXX\",\n                \"YYYYYYYYYY\",\n            ],\n        },\n        {\n            name: \"states\",\n            values: [\"ACTIVE\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\naccess_keys = outscale.get_access_keys(user_name=\"user_name\",\n    filters=[\n        {\n            \"name\": \"access_key_ids\",\n            \"values\": [\n                \"XXXXXXXXX\",\n                \"YYYYYYYYYY\",\n            ],\n        },\n        {\n            \"name\": \"states\",\n            \"values\": [\"ACTIVE\"],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var accessKeys = Outscale.GetAccessKeys.Invoke(new()\n    {\n        UserName = \"user_name\",\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetAccessKeysFilterInputArgs\n            {\n                Name = \"access_key_ids\",\n                Values = new[]\n                {\n                    \"XXXXXXXXX\",\n                    \"YYYYYYYYYY\",\n                },\n            },\n            new Outscale.Inputs.GetAccessKeysFilterInputArgs\n            {\n                Name = \"states\",\n                Values = new[]\n                {\n                    \"ACTIVE\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetAccessKeys(ctx, \u0026outscale.GetAccessKeysArgs{\n\t\t\tUserName: pulumi.StringRef(\"user_name\"),\n\t\t\tFilters: []outscale.GetAccessKeysFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"access_key_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"XXXXXXXXX\",\n\t\t\t\t\t\t\"YYYYYYYYYY\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ACTIVE\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetAccessKeysArgs;\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 accessKeys = OutscaleFunctions.getAccessKeys(GetAccessKeysArgs.builder()\n            .userName(\"user_name\")\n            .filters(            \n                GetAccessKeysFilterArgs.builder()\n                    .name(\"access_key_ids\")\n                    .values(                    \n                        \"XXXXXXXXX\",\n                        \"YYYYYYYYYY\")\n                    .build(),\n                GetAccessKeysFilterArgs.builder()\n                    .name(\"states\")\n                    .values(\"ACTIVE\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  accessKeys:\n    fn::invoke:\n      function: outscale:getAccessKeys\n      arguments:\n        userName: user_name\n        filters:\n          - name: access_key_ids\n            values:\n              - XXXXXXXXX\n              - YYYYYYYYYY\n          - name: states\n            values:\n              - ACTIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccessKeys.\n","properties":{"accessKeyIds":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetAccessKeysFilter:getAccessKeysFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"userName":{"type":"string","description":"The name of the EIM user. By default, the user who sends the request (which can be the root account).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccessKeys.\n","properties":{"accessKeyIds":{"items":{"type":"string"},"type":"array"},"accessKeys":{"description":"A list of access keys.\n","items":{"$ref":"#/types/outscale:index%2FgetAccessKeysAccessKey:getAccessKeysAccessKey"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetAccessKeysFilter:getAccessKeysFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"states":{"items":{"type":"string"},"type":"array"},"userName":{"type":"string"}},"required":["accessKeys","id","requestId"],"type":"object"}},"outscale:index/getAccount:getAccount":{"description":"Provides information about an account.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Your-Account.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-account).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst account01 = outscale.getAccount({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\naccount01 = outscale.get_account()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account01 = Outscale.GetAccount.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetAccount(ctx, \u0026outscale.GetAccountArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetAccountArgs;\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 account01 = OutscaleFunctions.getAccount(GetAccountArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  account01:\n    fn::invoke:\n      function: outscale:getAccount\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"accountId":{"description":"The ID of the account.\n","type":"string"},"additionalEmails":{"description":"One or more additional email addresses for the account. These addresses are used for notifications only.\n","items":{"type":"string"},"type":"array"},"city":{"description":"The city of the account owner.\n","type":"string"},"companyName":{"description":"The name of the company for the account.\n","type":"string"},"country":{"description":"The country of the account owner.\n","type":"string"},"customerId":{"description":"The ID of the customer.\n","type":"string"},"email":{"description":"The main email address for the account. This address is used for your credentials and for notifications.\n","type":"string"},"firstName":{"description":"The first name of the account owner.\n","type":"string"},"id":{"type":"string"},"jobTitle":{"description":"The job title of the account owner.\n","type":"string"},"lastName":{"description":"The last name of the account owner.\n","type":"string"},"mobileNumber":{"description":"The mobile phone number of the account owner.\n","type":"string"},"phoneNumber":{"description":"The landline phone number of the account owner.\n","type":"string"},"requestId":{"type":"string"},"stateProvince":{"description":"The state/province of the account.\n","type":"string"},"vatNumber":{"description":"The value added tax (VAT) number for the account.\n","type":"string"},"zipCode":{"description":"The ZIP code of the city.\n","type":"string"}},"required":["accountId","additionalEmails","city","companyName","country","customerId","email","firstName","id","jobTitle","lastName","mobileNumber","phoneNumber","requestId","stateProvince","vatNumber","zipCode"],"type":"object"}},"outscale:index/getAccounts:getAccounts":{"description":"Provides information about accounts.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Your-Account.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-account).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst allAccounts = outscale.getAccounts({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nall_accounts = outscale.get_accounts()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allAccounts = Outscale.GetAccounts.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetAccounts(ctx, \u0026outscale.GetAccountsArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetAccountsArgs;\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 allAccounts = OutscaleFunctions.getAccounts(GetAccountsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  allAccounts:\n    fn::invoke:\n      function: outscale:getAccounts\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccounts.\n","properties":{"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccounts.\n","properties":{"accounts":{"description":"The list of the accounts.\n","items":{"$ref":"#/types/outscale:index%2FgetAccountsAccount:getAccountsAccount"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"}},"required":["accounts","id","requestId"],"type":"object"}},"outscale:index/getApiAccessPolicy:getApiAccessPolicy":{"description":"Provides information about the API access policy.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Your-API-Access-Policy.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-apiaccesspolicy).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst unique = outscale.getApiAccessPolicy({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nunique = outscale.get_api_access_policy()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var unique = Outscale.GetApiAccessPolicy.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupApiAccessPolicy(ctx, \u0026outscale.LookupApiAccessPolicyArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetApiAccessPolicyArgs;\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 unique = OutscaleFunctions.getApiAccessPolicy(GetApiAccessPolicyArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  unique:\n    fn::invoke:\n      function: outscale:getApiAccessPolicy\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApiAccessPolicy.\n","properties":{"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getApiAccessPolicy.\n","properties":{"id":{"type":"string"},"maxAccessKeyExpirationSeconds":{"description":"The maximum possible lifetime for your access keys, in seconds. If \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, your access keys can have unlimited lifetimes.\n","type":"number"},"requestId":{"type":"string"},"requireTrustedEnv":{"description":"If true, a trusted session is activated, allowing you to bypass Certificate Authorities (CAs) enforcement. For more information, see [About Your API Access Policy](https://docs.outscale.com/en/userguide/About-Your-API-Access-Policy.html).\u003cbr /\u003e\nIf this is enabled, it is required that you and all your users log in to Cockpit v2 using the WebAuthn method for multi-factor authentication. For more information, see [About Authentication \u003e Multi-Factor Authentication](https://docs.outscale.com/en/userguide/About-Authentication.html#_multi_factor_authentication).\n","type":"boolean"}},"required":["id","maxAccessKeyExpirationSeconds","requestId","requireTrustedEnv"],"type":"object"}},"outscale:index/getApiAccessRule:getApiAccessRule":{"description":"Provides information about an API access rule.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-API-Access-Rules.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-apiaccessrule).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst apiAccessRule01 = outscale.getApiAccessRule({\n    filters: [{\n        name: \"api_access_rule_ids\",\n        values: [\"aar-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\napi_access_rule01 = outscale.get_api_access_rule(filters=[{\n    \"name\": \"api_access_rule_ids\",\n    \"values\": [\"aar-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var apiAccessRule01 = Outscale.GetApiAccessRule.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetApiAccessRuleFilterInputArgs\n            {\n                Name = \"api_access_rule_ids\",\n                Values = new[]\n                {\n                    \"aar-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupApiAccessRule(ctx, \u0026outscale.LookupApiAccessRuleArgs{\n\t\t\tFilters: []outscale.GetApiAccessRuleFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"api_access_rule_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"aar-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetApiAccessRuleArgs;\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 apiAccessRule01 = OutscaleFunctions.getApiAccessRule(GetApiAccessRuleArgs.builder()\n            .filters(GetApiAccessRuleFilterArgs.builder()\n                .name(\"api_access_rule_ids\")\n                .values(\"aar-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  apiAccessRule01:\n    fn::invoke:\n      function: outscale:getApiAccessRule\n      arguments:\n        filters:\n          - name: api_access_rule_ids\n            values:\n              - aar-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApiAccessRule.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetApiAccessRuleFilter:getApiAccessRuleFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getApiAccessRule.\n","properties":{"apiAccessRuleId":{"description":"The ID of the API access rule.\n","type":"string"},"caIds":{"description":"One or more IDs of Client Certificate Authorities (CAs) used for the API access rule.\n","items":{"type":"string"},"type":"array"},"cns":{"description":"One or more Client Certificate Common Names (CNs).\n","items":{"type":"string"},"type":"array"},"description":{"description":"The description of the API access rule.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetApiAccessRuleFilter:getApiAccessRuleFilter"},"type":"array"},"id":{"type":"string"},"ipRanges":{"description":"One or more IP ranges used for the API access rule, in CIDR notation (for example, `192.0.2.0/16`).\n","items":{"type":"string"},"type":"array"},"requestId":{"type":"string"}},"required":["apiAccessRuleId","caIds","cns","description","id","ipRanges","requestId"],"type":"object"}},"outscale:index/getApiAccessRules:getApiAccessRules":{"description":"Provides information about API access rules.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-API-Access-Rules.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-apiaccessrule).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst apiAccessRules01 = outscale.getApiAccessRules({\n    filters: [\n        {\n            name: \"ca_ids\",\n            values: [\n                \"ca-12345678\",\n                \"ca-87654321\",\n            ],\n        },\n        {\n            name: \"ip_ranges\",\n            values: [\"192.0.2.0/16\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\napi_access_rules01 = outscale.get_api_access_rules(filters=[\n    {\n        \"name\": \"ca_ids\",\n        \"values\": [\n            \"ca-12345678\",\n            \"ca-87654321\",\n        ],\n    },\n    {\n        \"name\": \"ip_ranges\",\n        \"values\": [\"192.0.2.0/16\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var apiAccessRules01 = Outscale.GetApiAccessRules.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetApiAccessRulesFilterInputArgs\n            {\n                Name = \"ca_ids\",\n                Values = new[]\n                {\n                    \"ca-12345678\",\n                    \"ca-87654321\",\n                },\n            },\n            new Outscale.Inputs.GetApiAccessRulesFilterInputArgs\n            {\n                Name = \"ip_ranges\",\n                Values = new[]\n                {\n                    \"192.0.2.0/16\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetApiAccessRules(ctx, \u0026outscale.GetApiAccessRulesArgs{\n\t\t\tFilters: []outscale.GetApiAccessRulesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"ca_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ca-12345678\",\n\t\t\t\t\t\t\"ca-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"ip_ranges\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"192.0.2.0/16\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetApiAccessRulesArgs;\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 apiAccessRules01 = OutscaleFunctions.getApiAccessRules(GetApiAccessRulesArgs.builder()\n            .filters(            \n                GetApiAccessRulesFilterArgs.builder()\n                    .name(\"ca_ids\")\n                    .values(                    \n                        \"ca-12345678\",\n                        \"ca-87654321\")\n                    .build(),\n                GetApiAccessRulesFilterArgs.builder()\n                    .name(\"ip_ranges\")\n                    .values(\"192.0.2.0/16\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  apiAccessRules01:\n    fn::invoke:\n      function: outscale:getApiAccessRules\n      arguments:\n        filters:\n          - name: ca_ids\n            values:\n              - ca-12345678\n              - ca-87654321\n          - name: ip_ranges\n            values:\n              - 192.0.2.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApiAccessRules.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetApiAccessRulesFilter:getApiAccessRulesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getApiAccessRules.\n","properties":{"apiAccessRules":{"description":"A list of API access rules.\n","items":{"$ref":"#/types/outscale:index%2FgetApiAccessRulesApiAccessRule:getApiAccessRulesApiAccessRule"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetApiAccessRulesFilter:getApiAccessRulesFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"}},"required":["apiAccessRules","id","requestId"],"type":"object"}},"outscale:index/getCa:getCa":{"description":"Provides information about a Certificate Authority (CA).\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-API-Access-Rules.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-ca).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst ca01 = outscale.getCa({\n    filters: [{\n        name: \"ca_ids\",\n        values: [\"ca-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nca01 = outscale.get_ca(filters=[{\n    \"name\": \"ca_ids\",\n    \"values\": [\"ca-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ca01 = Outscale.GetCa.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetCaFilterInputArgs\n            {\n                Name = \"ca_ids\",\n                Values = new[]\n                {\n                    \"ca-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupCa(ctx, \u0026outscale.LookupCaArgs{\n\t\t\tFilters: []outscale.GetCaFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"ca_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ca-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetCaArgs;\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 ca01 = OutscaleFunctions.getCa(GetCaArgs.builder()\n            .filters(GetCaFilterArgs.builder()\n                .name(\"ca_ids\")\n                .values(\"ca-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  ca01:\n    fn::invoke:\n      function: outscale:getCa\n      arguments:\n        filters:\n          - name: ca_ids\n            values:\n              - ca-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCa.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetCaFilter:getCaFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCa.\n","properties":{"caFingerprint":{"description":"The fingerprint of the CA.\n","type":"string"},"caId":{"description":"The ID of the CA.\n","type":"string"},"caPem":{"type":"string"},"description":{"description":"The description of the CA.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetCaFilter:getCaFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"}},"required":["caFingerprint","caId","caPem","description","id","requestId"],"type":"object"}},"outscale:index/getCas:getCas":{"description":"Provides information about Certificate Authorities (CAs).\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-API-Access-Rules.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-ca).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst cas01 = outscale.getCas({\n    filters: [{\n        name: \"ca_ids\",\n        values: [\n            \"ca-12345678\",\n            \"ca-87654321\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ncas01 = outscale.get_cas(filters=[{\n    \"name\": \"ca_ids\",\n    \"values\": [\n        \"ca-12345678\",\n        \"ca-87654321\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cas01 = Outscale.GetCas.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetCasFilterInputArgs\n            {\n                Name = \"ca_ids\",\n                Values = new[]\n                {\n                    \"ca-12345678\",\n                    \"ca-87654321\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetCas(ctx, \u0026outscale.GetCasArgs{\n\t\t\tFilters: []outscale.GetCasFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"ca_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ca-12345678\",\n\t\t\t\t\t\t\"ca-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetCasArgs;\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 cas01 = OutscaleFunctions.getCas(GetCasArgs.builder()\n            .filters(GetCasFilterArgs.builder()\n                .name(\"ca_ids\")\n                .values(                \n                    \"ca-12345678\",\n                    \"ca-87654321\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  cas01:\n    fn::invoke:\n      function: outscale:getCas\n      arguments:\n        filters:\n          - name: ca_ids\n            values:\n              - ca-12345678\n              - ca-87654321\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCas.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetCasFilter:getCasFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCas.\n","properties":{"cas":{"description":"Information about one or more CAs.\n","items":{"$ref":"#/types/outscale:index%2FgetCasCa:getCasCa"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetCasFilter:getCasFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"}},"required":["cas","id","requestId"],"type":"object"}},"outscale:index/getClientGateway:getClientGateway":{"description":"Provides information about a client gateway.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Client-Gateways.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-clientgateway).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst clientGateway01 = outscale.getClientGateway({\n    filters: [{\n        name: \"client_gateway_ids\",\n        values: [\"cgw-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nclient_gateway01 = outscale.get_client_gateway(filters=[{\n    \"name\": \"client_gateway_ids\",\n    \"values\": [\"cgw-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clientGateway01 = Outscale.GetClientGateway.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetClientGatewayFilterInputArgs\n            {\n                Name = \"client_gateway_ids\",\n                Values = new[]\n                {\n                    \"cgw-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupClientGateway(ctx, \u0026outscale.LookupClientGatewayArgs{\n\t\t\tFilters: []outscale.GetClientGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"client_gateway_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"cgw-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetClientGatewayArgs;\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 clientGateway01 = OutscaleFunctions.getClientGateway(GetClientGatewayArgs.builder()\n            .filters(GetClientGatewayFilterArgs.builder()\n                .name(\"client_gateway_ids\")\n                .values(\"cgw-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  clientGateway01:\n    fn::invoke:\n      function: outscale:getClientGateway\n      arguments:\n        filters:\n          - name: client_gateway_ids\n            values:\n              - cgw-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getClientGateway.\n","properties":{"clientGatewayId":{"type":"string","description":"The ID of the client gateway.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetClientGatewayFilter:getClientGatewayFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getClientGateway.\n","properties":{"bgpAsn":{"description":"The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet.\n","type":"number"},"clientGatewayId":{"description":"The ID of the client gateway.\n","type":"string"},"connectionType":{"description":"The type of communication tunnel used by the client gateway (always `ipsec.1`).\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetClientGatewayFilter:getClientGatewayFilter"},"type":"array"},"id":{"type":"string"},"publicIp":{"description":"The public IPv4 address of the client gateway (must be a fixed address into a NATed network).\n","type":"string"},"requestId":{"type":"string"},"state":{"description":"The state of the client gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n","type":"string"},"tags":{"description":"One or more tags associated with the client gateway.\n","items":{"$ref":"#/types/outscale:index%2FgetClientGatewayTag:getClientGatewayTag"},"type":"array"}},"required":["bgpAsn","connectionType","id","publicIp","requestId","state","tags"],"type":"object"}},"outscale:index/getClientGateways:getClientGateways":{"description":"Provides information about client gateways.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Client-Gateways.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-clientgateway).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst clientGateways01 = outscale.getClientGateways({\n    filters: [\n        {\n            name: \"bgp_asns\",\n            values: [\"65000\"],\n        },\n        {\n            name: \"public_ips\",\n            values: [\n                \"111.11.111.1\",\n                \"222.22.222.2\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nclient_gateways01 = outscale.get_client_gateways(filters=[\n    {\n        \"name\": \"bgp_asns\",\n        \"values\": [\"65000\"],\n    },\n    {\n        \"name\": \"public_ips\",\n        \"values\": [\n            \"111.11.111.1\",\n            \"222.22.222.2\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clientGateways01 = Outscale.GetClientGateways.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetClientGatewaysFilterInputArgs\n            {\n                Name = \"bgp_asns\",\n                Values = new[]\n                {\n                    \"65000\",\n                },\n            },\n            new Outscale.Inputs.GetClientGatewaysFilterInputArgs\n            {\n                Name = \"public_ips\",\n                Values = new[]\n                {\n                    \"111.11.111.1\",\n                    \"222.22.222.2\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetClientGateways(ctx, \u0026outscale.GetClientGatewaysArgs{\n\t\t\tFilters: []outscale.GetClientGatewaysFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"bgp_asns\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"65000\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"public_ips\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"111.11.111.1\",\n\t\t\t\t\t\t\"222.22.222.2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetClientGatewaysArgs;\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 clientGateways01 = OutscaleFunctions.getClientGateways(GetClientGatewaysArgs.builder()\n            .filters(            \n                GetClientGatewaysFilterArgs.builder()\n                    .name(\"bgp_asns\")\n                    .values(\"65000\")\n                    .build(),\n                GetClientGatewaysFilterArgs.builder()\n                    .name(\"public_ips\")\n                    .values(                    \n                        \"111.11.111.1\",\n                        \"222.22.222.2\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  clientGateways01:\n    fn::invoke:\n      function: outscale:getClientGateways\n      arguments:\n        filters:\n          - name: bgp_asns\n            values:\n              - '65000'\n          - name: public_ips\n            values:\n              - 111.11.111.1\n              - 222.22.222.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getClientGateways.\n","properties":{"clientGatewayIds":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetClientGatewaysFilter:getClientGatewaysFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getClientGateways.\n","properties":{"clientGatewayIds":{"items":{"type":"string"},"type":"array"},"clientGateways":{"description":"Information about one or more client gateways.\n","items":{"$ref":"#/types/outscale:index%2FgetClientGatewaysClientGateway:getClientGatewaysClientGateway"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetClientGatewaysFilter:getClientGatewaysFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"}},"required":["clientGateways","id","requestId"],"type":"object"}},"outscale:index/getDhcpOption:getDhcpOption":{"description":"Provides information about a DHCP option.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-DHCP-Options.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-dhcpoption).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst dhcpOption01 = outscale.getDhcpOption({\n    filters: [{\n        name: \"dhcp_options_set_id\",\n        values: [\"dopt-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ndhcp_option01 = outscale.get_dhcp_option(filters=[{\n    \"name\": \"dhcp_options_set_id\",\n    \"values\": [\"dopt-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dhcpOption01 = Outscale.GetDhcpOption.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetDhcpOptionFilterInputArgs\n            {\n                Name = \"dhcp_options_set_id\",\n                Values = new[]\n                {\n                    \"dopt-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupDhcpOption(ctx, \u0026outscale.LookupDhcpOptionArgs{\n\t\t\tFilters: []outscale.GetDhcpOptionFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"dhcp_options_set_id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"dopt-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetDhcpOptionArgs;\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 dhcpOption01 = OutscaleFunctions.getDhcpOption(GetDhcpOptionArgs.builder()\n            .filters(GetDhcpOptionFilterArgs.builder()\n                .name(\"dhcp_options_set_id\")\n                .values(\"dopt-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dhcpOption01:\n    fn::invoke:\n      function: outscale:getDhcpOption\n      arguments:\n        filters:\n          - name: dhcp_options_set_id\n            values:\n              - dopt-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDhcpOption.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetDhcpOptionFilter:getDhcpOptionFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDhcpOption.\n","properties":{"default":{"description":"If true, the DHCP options set is a default one. If false, it is not.\n","type":"boolean"},"dhcpOptionsSetId":{"description":"The ID of the DHCP options set.\n","type":"string"},"domainName":{"description":"The domain name.\n","type":"string"},"domainNameServers":{"description":"One or more IPs for the domain name servers.\n","items":{"type":"string"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetDhcpOptionFilter:getDhcpOptionFilter"},"type":"array"},"id":{"type":"string"},"logServers":{"description":"One or more IPs for the log servers.\n","items":{"type":"string"},"type":"array"},"ntpServers":{"description":"One or more IPs for the NTP servers.\n","items":{"type":"string"},"type":"array"},"requestId":{"type":"string"},"tags":{"description":"One or more tags associated with the DHCP options set.\n","items":{"$ref":"#/types/outscale:index%2FgetDhcpOptionTag:getDhcpOptionTag"},"type":"array"}},"required":["default","dhcpOptionsSetId","domainName","domainNameServers","id","logServers","ntpServers","requestId","tags"],"type":"object"}},"outscale:index/getDhcpOptions:getDhcpOptions":{"description":"Provides information about DHCP options.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-DHCP-Options.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-dhcpoption).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst dhcpOptions01 = outscale.getDhcpOptions({\n    filters: [\n        {\n            name: \"domain_name_servers\",\n            values: [\n                \"111.11.111.1\",\n                \"222.22.222.2\",\n            ],\n        },\n        {\n            name: \"domain_names\",\n            values: [\"example.com\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ndhcp_options01 = outscale.get_dhcp_options(filters=[\n    {\n        \"name\": \"domain_name_servers\",\n        \"values\": [\n            \"111.11.111.1\",\n            \"222.22.222.2\",\n        ],\n    },\n    {\n        \"name\": \"domain_names\",\n        \"values\": [\"example.com\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dhcpOptions01 = Outscale.GetDhcpOptions.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetDhcpOptionsFilterInputArgs\n            {\n                Name = \"domain_name_servers\",\n                Values = new[]\n                {\n                    \"111.11.111.1\",\n                    \"222.22.222.2\",\n                },\n            },\n            new Outscale.Inputs.GetDhcpOptionsFilterInputArgs\n            {\n                Name = \"domain_names\",\n                Values = new[]\n                {\n                    \"example.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetDhcpOptions(ctx, \u0026outscale.GetDhcpOptionsArgs{\n\t\t\tFilters: []outscale.GetDhcpOptionsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"domain_name_servers\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"111.11.111.1\",\n\t\t\t\t\t\t\"222.22.222.2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"domain_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"example.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetDhcpOptionsArgs;\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 dhcpOptions01 = OutscaleFunctions.getDhcpOptions(GetDhcpOptionsArgs.builder()\n            .filters(            \n                GetDhcpOptionsFilterArgs.builder()\n                    .name(\"domain_name_servers\")\n                    .values(                    \n                        \"111.11.111.1\",\n                        \"222.22.222.2\")\n                    .build(),\n                GetDhcpOptionsFilterArgs.builder()\n                    .name(\"domain_names\")\n                    .values(\"example.com\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dhcpOptions01:\n    fn::invoke:\n      function: outscale:getDhcpOptions\n      arguments:\n        filters:\n          - name: domain_name_servers\n            values:\n              - 111.11.111.1\n              - 222.22.222.2\n          - name: domain_names\n            values:\n              - example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDhcpOptions.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetDhcpOptionsFilter:getDhcpOptionsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDhcpOptions.\n","properties":{"dhcpOptions":{"items":{"$ref":"#/types/outscale:index%2FgetDhcpOptionsDhcpOption:getDhcpOptionsDhcpOption"},"type":"array"},"dhcpOptionsSetIds":{"items":{"type":"string"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetDhcpOptionsFilter:getDhcpOptionsFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"}},"required":["dhcpOptions","dhcpOptionsSetIds","id","requestId"],"type":"object"}},"outscale:index/getEntitiesLinkedToPolicy:getEntitiesLinkedToPolicy":{"description":"Provides information about  entities (account, users, or user groups) linked to a specific managed policy.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Policies.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#readentitieslinkedtopolicy).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst entitiesLinkedPolicy01 = outscale.getEntitiesLinkedToPolicy({\n    policyOrn: \"orn:ows:idauth::012345678910:policy/example/example-policy\",\n    entitiesTypes: [\n        \"USER\",\n        \"GROUP\",\n        \"ACCOUNT\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nentities_linked_policy01 = outscale.get_entities_linked_to_policy(policy_orn=\"orn:ows:idauth::012345678910:policy/example/example-policy\",\n    entities_types=[\n        \"USER\",\n        \"GROUP\",\n        \"ACCOUNT\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var entitiesLinkedPolicy01 = Outscale.GetEntitiesLinkedToPolicy.Invoke(new()\n    {\n        PolicyOrn = \"orn:ows:idauth::012345678910:policy/example/example-policy\",\n        EntitiesTypes = new[]\n        {\n            \"USER\",\n            \"GROUP\",\n            \"ACCOUNT\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetEntitiesLinkedToPolicy(ctx, \u0026outscale.GetEntitiesLinkedToPolicyArgs{\n\t\t\tPolicyOrn: \"orn:ows:idauth::012345678910:policy/example/example-policy\",\n\t\t\tEntitiesTypes: []string{\n\t\t\t\t\"USER\",\n\t\t\t\t\"GROUP\",\n\t\t\t\t\"ACCOUNT\",\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetEntitiesLinkedToPolicyArgs;\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 entitiesLinkedPolicy01 = OutscaleFunctions.getEntitiesLinkedToPolicy(GetEntitiesLinkedToPolicyArgs.builder()\n            .policyOrn(\"orn:ows:idauth::012345678910:policy/example/example-policy\")\n            .entitiesTypes(            \n                \"USER\",\n                \"GROUP\",\n                \"ACCOUNT\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  entitiesLinkedPolicy01:\n    fn::invoke:\n      function: outscale:getEntitiesLinkedToPolicy\n      arguments:\n        policyOrn: orn:ows:idauth::012345678910:policy/example/example-policy\n        entitiesTypes:\n          - USER\n          - GROUP\n          - ACCOUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getEntitiesLinkedToPolicy.\n","properties":{"entitiesTypes":{"type":"array","items":{"type":"string"},"description":"The type of entity linked to the policy (`ACCOUNT` \\| `USER` \\| `GROUP`) you want to get information about.\n"},"id":{"type":"string","description":"The ID of the entity.\n"},"policyOrn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"}},"type":"object","required":["policyOrn"]},"outputs":{"description":"A collection of values returned by getEntitiesLinkedToPolicy.\n","properties":{"entitiesTypes":{"items":{"type":"string"},"type":"array"},"id":{"description":"The ID of the entity.\n","type":"string"},"policyEntities":{"items":{"$ref":"#/types/outscale:index%2FgetEntitiesLinkedToPolicyPolicyEntity:getEntitiesLinkedToPolicyPolicyEntity"},"type":"array"},"policyOrn":{"type":"string"}},"required":["id","policyEntities","policyOrn"],"type":"object"}},"outscale:index/getFlexibleGpu:getFlexibleGpu":{"description":"Provides information about a flexible GPU.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-flexiblegpu).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst flexibleGpu01 = outscale.getFlexibleGpu({\n    filters: [{\n        name: \"flexible_gpu_ids\",\n        values: [\"fgpu-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nflexible_gpu01 = outscale.get_flexible_gpu(filters=[{\n    \"name\": \"flexible_gpu_ids\",\n    \"values\": [\"fgpu-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flexibleGpu01 = Outscale.GetFlexibleGpu.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetFlexibleGpuFilterInputArgs\n            {\n                Name = \"flexible_gpu_ids\",\n                Values = new[]\n                {\n                    \"fgpu-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupFlexibleGpu(ctx, \u0026outscale.LookupFlexibleGpuArgs{\n\t\t\tFilters: []outscale.GetFlexibleGpuFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"flexible_gpu_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"fgpu-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetFlexibleGpuArgs;\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 flexibleGpu01 = OutscaleFunctions.getFlexibleGpu(GetFlexibleGpuArgs.builder()\n            .filters(GetFlexibleGpuFilterArgs.builder()\n                .name(\"flexible_gpu_ids\")\n                .values(\"fgpu-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flexibleGpu01:\n    fn::invoke:\n      function: outscale:getFlexibleGpu\n      arguments:\n        filters:\n          - name: flexible_gpu_ids\n            values:\n              - fgpu-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFlexibleGpu.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetFlexibleGpuFilter:getFlexibleGpuFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFlexibleGpu.\n","properties":{"deleteOnVmDeletion":{"description":"If true, the fGPU is deleted when the VM is terminated.\n","type":"boolean"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetFlexibleGpuFilter:getFlexibleGpuFilter"},"type":"array"},"flexibleGpuId":{"description":"The ID of the fGPU.\n","type":"string"},"generation":{"description":"The compatible processor generation.\n","type":"string"},"id":{"type":"string"},"modelName":{"description":"The model of fGPU. For more information, see [About Flexible GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).\n","type":"string"},"requestId":{"type":"string"},"state":{"description":"The state of the fGPU (\u003cspan pulumi-lang-nodejs=\"`allocated`\" pulumi-lang-dotnet=\"`Allocated`\" pulumi-lang-go=\"`allocated`\" pulumi-lang-python=\"`allocated`\" pulumi-lang-yaml=\"`allocated`\" pulumi-lang-java=\"`allocated`\"\u003e`allocated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attached`\" pulumi-lang-dotnet=\"`Attached`\" pulumi-lang-go=\"`attached`\" pulumi-lang-python=\"`attached`\" pulumi-lang-yaml=\"`attached`\" pulumi-lang-java=\"`attached`\"\u003e`attached`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n","type":"string"},"subregionName":{"description":"The Subregion where the fGPU is located.\n","type":"string"},"vmId":{"description":"The ID of the VM the fGPU is attached to, if any.\n","type":"string"}},"required":["deleteOnVmDeletion","flexibleGpuId","generation","id","modelName","requestId","state","subregionName","vmId"],"type":"object"}},"outscale:index/getFlexibleGpuCatalog:getFlexibleGpuCatalog":{"description":"Provides information about the flexible GPU catalog.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readflexiblegpucatalog).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst flexibleGpuCatalog01 = outscale.getFlexibleGpuCatalog({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nflexible_gpu_catalog01 = outscale.get_flexible_gpu_catalog()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flexibleGpuCatalog01 = Outscale.GetFlexibleGpuCatalog.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetFlexibleGpuCatalog(ctx, \u0026outscale.GetFlexibleGpuCatalogArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetFlexibleGpuCatalogArgs;\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 flexibleGpuCatalog01 = OutscaleFunctions.getFlexibleGpuCatalog(GetFlexibleGpuCatalogArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flexibleGpuCatalog01:\n    fn::invoke:\n      function: outscale:getFlexibleGpuCatalog\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFlexibleGpuCatalog.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetFlexibleGpuCatalogFilter:getFlexibleGpuCatalogFilter"}},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFlexibleGpuCatalog.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetFlexibleGpuCatalogFilter:getFlexibleGpuCatalogFilter"},"type":"array"},"flexibleGpuCatalogs":{"description":"Information about one or more fGPUs available in the public catalog.\n","items":{"$ref":"#/types/outscale:index%2FgetFlexibleGpuCatalogFlexibleGpuCatalog:getFlexibleGpuCatalogFlexibleGpuCatalog"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"}},"required":["flexibleGpuCatalogs","id","requestId"],"type":"object"}},"outscale:index/getFlexibleGpus:getFlexibleGpus":{"description":"Provides information about flexible GPUs.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-flexiblegpu).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst flexibleGpus01 = outscale.getFlexibleGpus({\n    filters: [\n        {\n            name: \"model_names\",\n            values: [\n                \"nvidia-p6\",\n                \"nvidia-p100\",\n            ],\n        },\n        {\n            name: \"states\",\n            values: [\"attached\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nflexible_gpus01 = outscale.get_flexible_gpus(filters=[\n    {\n        \"name\": \"model_names\",\n        \"values\": [\n            \"nvidia-p6\",\n            \"nvidia-p100\",\n        ],\n    },\n    {\n        \"name\": \"states\",\n        \"values\": [\"attached\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var flexibleGpus01 = Outscale.GetFlexibleGpus.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetFlexibleGpusFilterInputArgs\n            {\n                Name = \"model_names\",\n                Values = new[]\n                {\n                    \"nvidia-p6\",\n                    \"nvidia-p100\",\n                },\n            },\n            new Outscale.Inputs.GetFlexibleGpusFilterInputArgs\n            {\n                Name = \"states\",\n                Values = new[]\n                {\n                    \"attached\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetFlexibleGpus(ctx, \u0026outscale.GetFlexibleGpusArgs{\n\t\t\tFilters: []outscale.GetFlexibleGpusFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"model_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"nvidia-p6\",\n\t\t\t\t\t\t\"nvidia-p100\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"attached\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetFlexibleGpusArgs;\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 flexibleGpus01 = OutscaleFunctions.getFlexibleGpus(GetFlexibleGpusArgs.builder()\n            .filters(            \n                GetFlexibleGpusFilterArgs.builder()\n                    .name(\"model_names\")\n                    .values(                    \n                        \"nvidia-p6\",\n                        \"nvidia-p100\")\n                    .build(),\n                GetFlexibleGpusFilterArgs.builder()\n                    .name(\"states\")\n                    .values(\"attached\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  flexibleGpus01:\n    fn::invoke:\n      function: outscale:getFlexibleGpus\n      arguments:\n        filters:\n          - name: model_names\n            values:\n              - nvidia-p6\n              - nvidia-p100\n          - name: states\n            values:\n              - attached\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFlexibleGpus.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetFlexibleGpusFilter:getFlexibleGpusFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFlexibleGpus.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetFlexibleGpusFilter:getFlexibleGpusFilter"},"type":"array"},"flexibleGpuses":{"description":"Information about one or more fGPUs.\n","items":{"$ref":"#/types/outscale:index%2FgetFlexibleGpusFlexibleGpus:getFlexibleGpusFlexibleGpus"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"}},"required":["flexibleGpuses","id","requestId"],"type":"object"}},"outscale:index/getImage:getImage":{"description":"Provides information about an image.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-OMIs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-image).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst image01 = outscale.getImage({\n    filters: [{\n        name: \"image_ids\",\n        values: [\"ami-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage01 = outscale.get_image(filters=[{\n    \"name\": \"image_ids\",\n    \"values\": [\"ami-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var image01 = Outscale.GetImage.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetImageFilterInputArgs\n            {\n                Name = \"image_ids\",\n                Values = new[]\n                {\n                    \"ami-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupImage(ctx, \u0026outscale.LookupImageArgs{\n\t\t\tFilters: []outscale.GetImageFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"image_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ami-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetImageArgs;\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 image01 = OutscaleFunctions.getImage(GetImageArgs.builder()\n            .filters(GetImageFilterArgs.builder()\n                .name(\"image_ids\")\n                .values(\"ami-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  image01:\n    fn::invoke:\n      function: outscale:getImage\n      arguments:\n        filters:\n          - name: image_ids\n            values:\n              - ami-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImage.\n","properties":{"blockDeviceMappings":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImageBlockDeviceMapping:getImageBlockDeviceMapping"},"description":"One or more block device mappings.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImageFilter:getImageFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"imageId":{"type":"string","description":"The ID of the OMI.\n"},"permissions":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getImage.\n","properties":{"accountAlias":{"description":"The account alias of the owner of the OMI.\n","type":"string"},"accountId":{"description":"The account ID of the owner of the OMI.\n","type":"string"},"architecture":{"description":"The architecture of the OMI.\n","type":"string"},"blockDeviceMappings":{"description":"One or more block device mappings.\n","items":{"$ref":"#/types/outscale:index%2FgetImageBlockDeviceMapping:getImageBlockDeviceMapping"},"type":"array"},"bootModes":{"description":"The boot modes compatible with the OMI. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n","items":{"type":"string"},"type":"array"},"creationDate":{"description":"The date and time (UTC) at which the OMI was created.\n","type":"string"},"description":{"description":"The description of the OMI.\n","type":"string"},"fileLocation":{"description":"The location from which the OMI files were created.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetImageFilter:getImageFilter"},"type":"array"},"id":{"type":"string"},"imageId":{"description":"The ID of the OMI.\n","type":"string"},"imageName":{"description":"The name of the OMI.\n","type":"string"},"imageType":{"description":"The type of the OMI.\n","type":"string"},"isPublic":{"type":"boolean"},"permissions":{"items":{"type":"string"},"type":"array"},"permissionsToLaunches":{"description":"Permissions for the resource.\n","items":{"$ref":"#/types/outscale:index%2FgetImagePermissionsToLaunch:getImagePermissionsToLaunch"},"type":"array"},"productCodes":{"description":"The product codes associated with the OMI.\n","items":{"type":"string"},"type":"array"},"requestId":{"type":"string"},"rootDeviceName":{"description":"The name of the root device.\n","type":"string"},"rootDeviceType":{"description":"The type of root device used by the OMI (always \u003cspan pulumi-lang-nodejs=\"`bsu`\" pulumi-lang-dotnet=\"`Bsu`\" pulumi-lang-go=\"`bsu`\" pulumi-lang-python=\"`bsu`\" pulumi-lang-yaml=\"`bsu`\" pulumi-lang-java=\"`bsu`\"\u003e`bsu`\u003c/span\u003e).\n","type":"string"},"secureBoot":{"description":"Whether secure boot is activated or not.\n","type":"boolean"},"state":{"description":"The state of the OMI (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e).\n","type":"string"},"stateComments":{"description":"Information about the change of state.\n","items":{"$ref":"#/types/outscale:index%2FgetImageStateComment:getImageStateComment"},"type":"array"},"tags":{"description":"One or more tags associated with the OMI.\n","items":{"$ref":"#/types/outscale:index%2FgetImageTag:getImageTag"},"type":"array"},"tpmMandatory":{"description":"If true, a virtual Trusted Platform Module (vTPM) is mandatory for VMs created from this OMI. If false, a vTPM is not mandatory.\n","type":"boolean"}},"required":["accountAlias","accountId","architecture","bootModes","creationDate","description","fileLocation","id","imageName","imageType","isPublic","permissionsToLaunches","productCodes","requestId","rootDeviceName","rootDeviceType","secureBoot","state","stateComments","tags","tpmMandatory"],"type":"object"}},"outscale:index/getImageExportTask:getImageExportTask":{"description":"Provides information about an image export task.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-OMIs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-image).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst imageExportTask01 = outscale.getImageExportTask({\n    filters: [{\n        name: \"task_ids\",\n        values: [\"image-export-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage_export_task01 = outscale.get_image_export_task(filters=[{\n    \"name\": \"task_ids\",\n    \"values\": [\"image-export-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var imageExportTask01 = Outscale.GetImageExportTask.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetImageExportTaskFilterInputArgs\n            {\n                Name = \"task_ids\",\n                Values = new[]\n                {\n                    \"image-export-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupImageExportTask(ctx, \u0026outscale.LookupImageExportTaskArgs{\n\t\t\tFilters: []outscale.GetImageExportTaskFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"task_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"image-export-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetImageExportTaskArgs;\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 imageExportTask01 = OutscaleFunctions.getImageExportTask(GetImageExportTaskArgs.builder()\n            .filters(GetImageExportTaskFilterArgs.builder()\n                .name(\"task_ids\")\n                .values(\"image-export-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  imageExportTask01:\n    fn::invoke:\n      function: outscale:getImageExportTask\n      arguments:\n        filters:\n          - name: task_ids\n            values:\n              - image-export-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImageExportTask.\n","properties":{"dryRun":{"type":"boolean"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImageExportTaskFilter:getImageExportTaskFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FgetImageExportTaskTimeouts:getImageExportTaskTimeouts"}},"type":"object"},"outputs":{"description":"A collection of values returned by getImageExportTask.\n","properties":{"comment":{"description":"If the OMI export task fails, an error message appears.\n","type":"string"},"dryRun":{"type":"boolean"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetImageExportTaskFilter:getImageExportTaskFilter"},"type":"array"},"id":{"type":"string"},"imageId":{"description":"The ID of the OMI to be exported.\n","type":"string"},"osuExports":{"description":"Information about the OMI export task.\n","items":{"$ref":"#/types/outscale:index%2FgetImageExportTaskOsuExport:getImageExportTaskOsuExport"},"type":"array"},"progress":{"description":"The progress of the OMI export task, as a percentage.\n","type":"number"},"requestId":{"type":"string"},"state":{"description":"The state of the OMI export task (`pending/queued` \\| \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e).\n","type":"string"},"tags":{"description":"One or more tags associated with the image export task.\n","items":{"$ref":"#/types/outscale:index%2FgetImageExportTaskTag:getImageExportTaskTag"},"type":"array"},"taskId":{"description":"The ID of the OMI export task.\n","type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FgetImageExportTaskTimeouts:getImageExportTaskTimeouts"}},"required":["comment","dryRun","id","imageId","osuExports","progress","requestId","state","tags","taskId"],"type":"object"}},"outscale:index/getImageExportTasks:getImageExportTasks":{"description":"Provides information about image export tasks.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-OMIs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-image).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst imageExportTasks01 = outscale.getImageExportTasks({\n    filters: [{\n        name: \"task_ids\",\n        values: [\n            \"image-export-12345678\",\n            \"image-export-87654321\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage_export_tasks01 = outscale.get_image_export_tasks(filters=[{\n    \"name\": \"task_ids\",\n    \"values\": [\n        \"image-export-12345678\",\n        \"image-export-87654321\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var imageExportTasks01 = Outscale.GetImageExportTasks.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetImageExportTasksFilterInputArgs\n            {\n                Name = \"task_ids\",\n                Values = new[]\n                {\n                    \"image-export-12345678\",\n                    \"image-export-87654321\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetImageExportTasks(ctx, \u0026outscale.GetImageExportTasksArgs{\n\t\t\tFilters: []outscale.GetImageExportTasksFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"task_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"image-export-12345678\",\n\t\t\t\t\t\t\"image-export-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetImageExportTasksArgs;\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 imageExportTasks01 = OutscaleFunctions.getImageExportTasks(GetImageExportTasksArgs.builder()\n            .filters(GetImageExportTasksFilterArgs.builder()\n                .name(\"task_ids\")\n                .values(                \n                    \"image-export-12345678\",\n                    \"image-export-87654321\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  imageExportTasks01:\n    fn::invoke:\n      function: outscale:getImageExportTasks\n      arguments:\n        filters:\n          - name: task_ids\n            values:\n              - image-export-12345678\n              - image-export-87654321\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImageExportTasks.\n","properties":{"dryRun":{"type":"boolean"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImageExportTasksFilter:getImageExportTasksFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FgetImageExportTasksTimeouts:getImageExportTasksTimeouts"}},"type":"object"},"outputs":{"description":"A collection of values returned by getImageExportTasks.\n","properties":{"dryRun":{"type":"boolean"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetImageExportTasksFilter:getImageExportTasksFilter"},"type":"array"},"id":{"type":"string"},"imageExportTasks":{"description":"Information about one or more image export tasks.\n","items":{"$ref":"#/types/outscale:index%2FgetImageExportTasksImageExportTask:getImageExportTasksImageExportTask"},"type":"array"},"requestId":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FgetImageExportTasksTimeouts:getImageExportTasksTimeouts"}},"required":["dryRun","id","imageExportTasks","requestId"],"type":"object"}},"outscale:index/getImages:getImages":{"description":"Provides information about images.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-OMIs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-image).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst images01 = outscale.getImages({\n    filters: [\n        {\n            name: \"account_aliases\",\n            values: [\"Outscale\"],\n        },\n        {\n            name: \"image_names\",\n            values: [\n                \"Ubuntu*\",\n                \"RockyLinux*\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimages01 = outscale.get_images(filters=[\n    {\n        \"name\": \"account_aliases\",\n        \"values\": [\"Outscale\"],\n    },\n    {\n        \"name\": \"image_names\",\n        \"values\": [\n            \"Ubuntu*\",\n            \"RockyLinux*\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var images01 = Outscale.GetImages.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetImagesFilterInputArgs\n            {\n                Name = \"account_aliases\",\n                Values = new[]\n                {\n                    \"Outscale\",\n                },\n            },\n            new Outscale.Inputs.GetImagesFilterInputArgs\n            {\n                Name = \"image_names\",\n                Values = new[]\n                {\n                    \"Ubuntu*\",\n                    \"RockyLinux*\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetImages(ctx, \u0026outscale.GetImagesArgs{\n\t\t\tFilters: []outscale.GetImagesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"account_aliases\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Outscale\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"image_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Ubuntu*\",\n\t\t\t\t\t\t\"RockyLinux*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetImagesArgs;\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 images01 = OutscaleFunctions.getImages(GetImagesArgs.builder()\n            .filters(            \n                GetImagesFilterArgs.builder()\n                    .name(\"account_aliases\")\n                    .values(\"Outscale\")\n                    .build(),\n                GetImagesFilterArgs.builder()\n                    .name(\"image_names\")\n                    .values(                    \n                        \"Ubuntu*\",\n                        \"RockyLinux*\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  images01:\n    fn::invoke:\n      function: outscale:getImages\n      arguments:\n        filters:\n          - name: account_aliases\n            values:\n              - Outscale\n          - name: image_names\n            values:\n              - Ubuntu*\n              - RockyLinux*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImages.\n","properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"One or more account IDs that the permission is associated with.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetImagesFilter:getImagesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"imageIds":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getImages.\n","properties":{"accountIds":{"description":"One or more account IDs that the permission is associated with.\n","items":{"type":"string"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetImagesFilter:getImagesFilter"},"type":"array"},"id":{"type":"string"},"imageIds":{"items":{"type":"string"},"type":"array"},"images":{"description":"Information about one or more OMIs.\n","items":{"$ref":"#/types/outscale:index%2FgetImagesImage:getImagesImage"},"type":"array"},"permissions":{"items":{"type":"string"},"type":"array"},"requestId":{"type":"string"}},"required":["id","images","requestId"],"type":"object"}},"outscale:index/getInternetService:getInternetService":{"description":"Provides information about an Internet service.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Internet-Services.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-internetservice).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst internetService01 = outscale.getInternetService({\n    filters: [{\n        name: \"internet_service_ids\",\n        values: [\"igw-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ninternet_service01 = outscale.get_internet_service(filters=[{\n    \"name\": \"internet_service_ids\",\n    \"values\": [\"igw-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var internetService01 = Outscale.GetInternetService.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetInternetServiceFilterInputArgs\n            {\n                Name = \"internet_service_ids\",\n                Values = new[]\n                {\n                    \"igw-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupInternetService(ctx, \u0026outscale.LookupInternetServiceArgs{\n\t\t\tFilters: []outscale.GetInternetServiceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"internet_service_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"igw-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetInternetServiceArgs;\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 internetService01 = OutscaleFunctions.getInternetService(GetInternetServiceArgs.builder()\n            .filters(GetInternetServiceFilterArgs.builder()\n                .name(\"internet_service_ids\")\n                .values(\"igw-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  internetService01:\n    fn::invoke:\n      function: outscale:getInternetService\n      arguments:\n        filters:\n          - name: internet_service_ids\n            values:\n              - igw-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInternetService.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetInternetServiceFilter:getInternetServiceFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getInternetService.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetInternetServiceFilter:getInternetServiceFilter"},"type":"array"},"id":{"type":"string"},"internetServiceId":{"description":"The ID of the internet service.\n","type":"string"},"netId":{"description":"The ID of the Net attached to the internet service.\n","type":"string"},"requestId":{"type":"string"},"state":{"description":"The state of the attachment of the internet service to the Net (always \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e).\n","type":"string"},"tags":{"description":"One or more tags associated with the internet service.\n","items":{"$ref":"#/types/outscale:index%2FgetInternetServiceTag:getInternetServiceTag"},"type":"array"}},"required":["id","internetServiceId","netId","requestId","state","tags"],"type":"object"}},"outscale:index/getInternetServices:getInternetServices":{"description":"Provides information about Internet services.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Internet-Services.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-internetservice).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst internetServices01 = outscale.getInternetServices({\n    filters: [\n        {\n            name: \"tag_keys\",\n            values: [\"env\"],\n        },\n        {\n            name: \"tag_values\",\n            values: [\n                \"prod\",\n                \"test\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ninternet_services01 = outscale.get_internet_services(filters=[\n    {\n        \"name\": \"tag_keys\",\n        \"values\": [\"env\"],\n    },\n    {\n        \"name\": \"tag_values\",\n        \"values\": [\n            \"prod\",\n            \"test\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var internetServices01 = Outscale.GetInternetServices.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetInternetServicesFilterInputArgs\n            {\n                Name = \"tag_keys\",\n                Values = new[]\n                {\n                    \"env\",\n                },\n            },\n            new Outscale.Inputs.GetInternetServicesFilterInputArgs\n            {\n                Name = \"tag_values\",\n                Values = new[]\n                {\n                    \"prod\",\n                    \"test\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetInternetServices(ctx, \u0026outscale.GetInternetServicesArgs{\n\t\t\tFilters: []outscale.GetInternetServicesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag_keys\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"env\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag_values\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"prod\",\n\t\t\t\t\t\t\"test\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetInternetServicesArgs;\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 internetServices01 = OutscaleFunctions.getInternetServices(GetInternetServicesArgs.builder()\n            .filters(            \n                GetInternetServicesFilterArgs.builder()\n                    .name(\"tag_keys\")\n                    .values(\"env\")\n                    .build(),\n                GetInternetServicesFilterArgs.builder()\n                    .name(\"tag_values\")\n                    .values(                    \n                        \"prod\",\n                        \"test\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  internetServices01:\n    fn::invoke:\n      function: outscale:getInternetServices\n      arguments:\n        filters:\n          - name: tag_keys\n            values:\n              - env\n          - name: tag_values\n            values:\n              - prod\n              - test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInternetServices.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetInternetServicesFilter:getInternetServicesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"internetServiceIds":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getInternetServices.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetInternetServicesFilter:getInternetServicesFilter"},"type":"array"},"id":{"type":"string"},"internetServiceIds":{"items":{"type":"string"},"type":"array"},"internetServices":{"description":"Information about one or more internet services.\n","items":{"$ref":"#/types/outscale:index%2FgetInternetServicesInternetService:getInternetServicesInternetService"},"type":"array"},"requestId":{"type":"string"}},"required":["id","internetServices","requestId"],"type":"object"}},"outscale:index/getKeypair:getKeypair":{"description":"Provides information about a keypair.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Keypairs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-keypair).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst keypair01 = outscale.getKeypair({\n    filters: [{\n        name: \"keypair_names\",\n        values: [\"terraform-keypair-01\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nkeypair01 = outscale.get_keypair(filters=[{\n    \"name\": \"keypair_names\",\n    \"values\": [\"terraform-keypair-01\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var keypair01 = Outscale.GetKeypair.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetKeypairFilterInputArgs\n            {\n                Name = \"keypair_names\",\n                Values = new[]\n                {\n                    \"terraform-keypair-01\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupKeypair(ctx, \u0026outscale.LookupKeypairArgs{\n\t\t\tFilters: []outscale.GetKeypairFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"keypair_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"terraform-keypair-01\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetKeypairArgs;\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 keypair01 = OutscaleFunctions.getKeypair(GetKeypairArgs.builder()\n            .filters(GetKeypairFilterArgs.builder()\n                .name(\"keypair_names\")\n                .values(\"terraform-keypair-01\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  keypair01:\n    fn::invoke:\n      function: outscale:getKeypair\n      arguments:\n        filters:\n          - name: keypair_names\n            values:\n              - terraform-keypair-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKeypair.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetKeypairFilter:getKeypairFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"keypairName":{"type":"string","description":"The name of the keypair.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getKeypair.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetKeypairFilter:getKeypairFilter"},"type":"array"},"id":{"type":"string"},"keypairFingerprint":{"description":"The MD5 public key fingerprint as specified in section 4 of RFC 4716.\n","type":"string"},"keypairId":{"description":"The ID of the keypair.\n","type":"string"},"keypairName":{"description":"The name of the keypair.\n","type":"string"},"keypairType":{"description":"The type of the keypair (`ssh-rsa`, `ssh-ed25519`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`).\n","type":"string"},"requestId":{"type":"string"},"tags":{"description":"One or more tags associated with the keypair.\n","items":{"$ref":"#/types/outscale:index%2FgetKeypairTag:getKeypairTag"},"type":"array"}},"required":["id","keypairFingerprint","keypairId","keypairName","keypairType","requestId","tags"],"type":"object"}},"outscale:index/getKeypairs:getKeypairs":{"description":"Provides information about keypairs.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Keypairs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-keypair).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst keypairs01 = outscale.getKeypairs({\n    filters: [{\n        name: \"keypair_names\",\n        values: [\n            \"terraform-keypair-01\",\n            \"terraform-keypair-02\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nkeypairs01 = outscale.get_keypairs(filters=[{\n    \"name\": \"keypair_names\",\n    \"values\": [\n        \"terraform-keypair-01\",\n        \"terraform-keypair-02\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var keypairs01 = Outscale.GetKeypairs.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetKeypairsFilterInputArgs\n            {\n                Name = \"keypair_names\",\n                Values = new[]\n                {\n                    \"terraform-keypair-01\",\n                    \"terraform-keypair-02\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetKeypairs(ctx, \u0026outscale.GetKeypairsArgs{\n\t\t\tFilters: []outscale.GetKeypairsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"keypair_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"terraform-keypair-01\",\n\t\t\t\t\t\t\"terraform-keypair-02\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetKeypairsArgs;\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 keypairs01 = OutscaleFunctions.getKeypairs(GetKeypairsArgs.builder()\n            .filters(GetKeypairsFilterArgs.builder()\n                .name(\"keypair_names\")\n                .values(                \n                    \"terraform-keypair-01\",\n                    \"terraform-keypair-02\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  keypairs01:\n    fn::invoke:\n      function: outscale:getKeypairs\n      arguments:\n        filters:\n          - name: keypair_names\n            values:\n              - terraform-keypair-01\n              - terraform-keypair-02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKeypairs.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetKeypairsFilter:getKeypairsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"keypairNames":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getKeypairs.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetKeypairsFilter:getKeypairsFilter"},"type":"array"},"id":{"type":"string"},"keypairNames":{"items":{"type":"string"},"type":"array"},"keypairs":{"description":"Information about one or more keypairs.\n","items":{"$ref":"#/types/outscale:index%2FgetKeypairsKeypair:getKeypairsKeypair"},"type":"array"},"requestId":{"type":"string"}},"required":["id","keypairs","requestId"],"type":"object"}},"outscale:index/getLoadBalancer:getLoadBalancer":{"description":"Provides information about a load balancer.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-loadbalancer).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancer01 = outscale.getLoadBalancer({\n    filters: [{\n        name: \"load_balancer_names\",\n        values: [\"load_balancer01\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nload_balancer01 = outscale.get_load_balancer(filters=[{\n    \"name\": \"load_balancer_names\",\n    \"values\": [\"load_balancer01\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadBalancer01 = Outscale.GetLoadBalancer.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetLoadBalancerFilterInputArgs\n            {\n                Name = \"load_balancer_names\",\n                Values = new[]\n                {\n                    \"load_balancer01\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupLoadBalancer(ctx, \u0026outscale.LookupLoadBalancerArgs{\n\t\t\tFilters: []outscale.GetLoadBalancerFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"load_balancer_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"load_balancer01\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetLoadBalancerArgs;\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 loadBalancer01 = OutscaleFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n            .filters(GetLoadBalancerFilterArgs.builder()\n                .name(\"load_balancer_names\")\n                .values(\"load_balancer01\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  loadBalancer01:\n    fn::invoke:\n      function: outscale:getLoadBalancer\n      arguments:\n        filters:\n          - name: load_balancer_names\n            values:\n              - load_balancer01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLoadBalancer.\n","properties":{"accessLogs":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerAccessLog:getLoadBalancerAccessLog"},"description":"Information about access logs.\n"},"dnsName":{"type":"string","description":"The DNS name of the load balancer.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerFilter:getLoadBalancerFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"healthChecks":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerHealthCheck:getLoadBalancerHealthCheck"},"description":"Information about the health check configuration.\n"},"id":{"type":"string"},"listeners":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerListener:getLoadBalancerListener"},"description":"The listeners for the load balancer.\n"},"loadBalancerName":{"type":"string","description":"The name of the load balancer.\n"},"loadBalancerType":{"type":"string","description":"The type of load balancer. Valid only for load balancers in a Net.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, the load balancer has a public DNS name that resolves to a private IP.\n"},"netId":{"type":"string","description":"The ID of the Net for the load balancer.\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the load balancers. Valid only for load balancers in a Net.\n"},"subnets":{"type":"array","items":{"type":"string"},"description":"The ID of the Subnet in which the load balancer was created.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLoadBalancer.\n","properties":{"accessLogs":{"description":"Information about access logs.\n","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerAccessLog:getLoadBalancerAccessLog"},"type":"array"},"applicationStickyCookiePolicies":{"description":"The stickiness policies defined for the load balancer.\n","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerApplicationStickyCookiePolicy:getLoadBalancerApplicationStickyCookiePolicy"},"type":"array"},"backendIps":{"items":{"type":"string"},"type":"array"},"backendVmIds":{"description":"One or more IDs of backend VMs for the load balancer.\n","items":{"type":"string"},"type":"array"},"dnsName":{"description":"The DNS name of the load balancer.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerFilter:getLoadBalancerFilter"},"type":"array"},"healthChecks":{"description":"Information about the health check configuration.\n","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerHealthCheck:getLoadBalancerHealthCheck"},"type":"array"},"id":{"type":"string"},"listeners":{"description":"The listeners for the load balancer.\n","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerListener:getLoadBalancerListener"},"type":"array"},"loadBalancerName":{"description":"The name of the load balancer.\n","type":"string"},"loadBalancerStickyCookiePolicies":{"description":"The policies defined for the load balancer.\n","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerLoadBalancerStickyCookiePolicy:getLoadBalancerLoadBalancerStickyCookiePolicy"},"type":"array"},"loadBalancerType":{"description":"The type of load balancer. Valid only for load balancers in a Net.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf \u003cspan pulumi-lang-nodejs=\"`loadBalancerType`\" pulumi-lang-dotnet=\"`LoadBalancerType`\" pulumi-lang-go=\"`loadBalancerType`\" pulumi-lang-python=\"`load_balancer_type`\" pulumi-lang-yaml=\"`loadBalancerType`\" pulumi-lang-java=\"`loadBalancerType`\"\u003e`load_balancer_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e, the load balancer has a public DNS name that resolves to a private IP.\n","type":"string"},"netId":{"description":"The ID of the Net for the load balancer.\n","type":"string"},"publicIp":{"description":"(internet-facing only) The public IP associated with the load balancer.\n","type":"string"},"requestId":{"type":"string"},"securedCookies":{"description":"Whether secure cookies are enabled for the load balancer.\n","type":"boolean"},"securityGroups":{"description":"One or more IDs of security groups for the load balancers. Valid only for load balancers in a Net.\n","items":{"type":"string"},"type":"array"},"sourceSecurityGroups":{"description":"Information about the source security group of the load balancer, which you can use as part of your inbound rules for your registered VMs.\u003cbr /\u003e\nTo only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.\n","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerSourceSecurityGroup:getLoadBalancerSourceSecurityGroup"},"type":"array"},"subnets":{"description":"The ID of the Subnet in which the load balancer was created.\n","items":{"type":"string"},"type":"array"},"subregionNames":{"description":"The ID of the Subregion in which the load balancer was created.\n","items":{"type":"string"},"type":"array"},"tags":{"description":"One or more tags associated with the load balancer.\n","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerTag:getLoadBalancerTag"},"type":"array"}},"required":["applicationStickyCookiePolicies","backendIps","backendVmIds","dnsName","id","loadBalancerName","loadBalancerStickyCookiePolicies","loadBalancerType","netId","publicIp","requestId","securedCookies","securityGroups","sourceSecurityGroups","subnets","subregionNames","tags"],"type":"object"}},"outscale:index/getLoadBalancerListenerRule:getLoadBalancerListenerRule":{"description":"Provides information about a load balancer listener rule.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-listener).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst rule01 = outscale.getLoadBalancerListenerRule({\n    filters: [{\n        name: \"listener_rule_names\",\n        values: [\"terraform-listener-rule02\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nrule01 = outscale.get_load_balancer_listener_rule(filters=[{\n    \"name\": \"listener_rule_names\",\n    \"values\": [\"terraform-listener-rule02\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rule01 = Outscale.GetLoadBalancerListenerRule.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetLoadBalancerListenerRuleFilterInputArgs\n            {\n                Name = \"listener_rule_names\",\n                Values = new[]\n                {\n                    \"terraform-listener-rule02\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupLoadBalancerListenerRule(ctx, \u0026outscale.LookupLoadBalancerListenerRuleArgs{\n\t\t\tFilters: []outscale.GetLoadBalancerListenerRuleFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"listener_rule_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"terraform-listener-rule02\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetLoadBalancerListenerRuleArgs;\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 rule01 = OutscaleFunctions.getLoadBalancerListenerRule(GetLoadBalancerListenerRuleArgs.builder()\n            .filters(GetLoadBalancerListenerRuleFilterArgs.builder()\n                .name(\"listener_rule_names\")\n                .values(\"terraform-listener-rule02\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  rule01:\n    fn::invoke:\n      function: outscale:getLoadBalancerListenerRule\n      arguments:\n        filters:\n          - name: listener_rule_names\n            values:\n              - terraform-listener-rule02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLoadBalancerListenerRule.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerListenerRuleFilter:getLoadBalancerListenerRuleFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"listenerRuleName":{"type":"string","description":"A human-readable name for the listener rule.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLoadBalancerListenerRule.\n","properties":{"action":{"description":"The type of action for the rule (always \u003cspan pulumi-lang-nodejs=\"`forward`\" pulumi-lang-dotnet=\"`Forward`\" pulumi-lang-go=\"`forward`\" pulumi-lang-python=\"`forward`\" pulumi-lang-yaml=\"`forward`\" pulumi-lang-java=\"`forward`\"\u003e`forward`\u003c/span\u003e).\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerListenerRuleFilter:getLoadBalancerListenerRuleFilter"},"type":"array"},"hostNamePattern":{"description":"A host-name pattern for the rule, with a maximum length of 128 characters. This host-name pattern supports maximum three wildcards, and must not contain any special characters except `-.?`.\n","type":"string"},"id":{"type":"string"},"listenerId":{"description":"The ID of the listener.\n","type":"number"},"listenerRuleId":{"description":"The ID of the listener rule.\n","type":"number"},"listenerRuleName":{"description":"A human-readable name for the listener rule.\n","type":"string"},"pathPattern":{"description":"A path pattern for the rule, with a maximum length of 128 characters. This path pattern supports maximum three wildcards, and must not contain any special characters except `_-.$/~\u0026quot;'@:+?`.\n","type":"string"},"priority":{"description":"The priority level of the listener rule, between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`19999`\" pulumi-lang-dotnet=\"`19999`\" pulumi-lang-go=\"`19999`\" pulumi-lang-python=\"`19999`\" pulumi-lang-yaml=\"`19999`\" pulumi-lang-java=\"`19999`\"\u003e`19999`\u003c/span\u003e both included. Each rule must have a unique priority level. Otherwise, an error is returned.\n","type":"number"},"requestId":{"type":"string"},"vmIds":{"description":"The IDs of the backend VMs.\n","items":{"type":"string"},"type":"array"}},"required":["action","hostNamePattern","id","listenerId","listenerRuleId","listenerRuleName","pathPattern","priority","requestId","vmIds"],"type":"object"}},"outscale:index/getLoadBalancerListenerRules:getLoadBalancerListenerRules":{"description":"Provides information about load balancer listener rules.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-listener).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst rules01 = outscale.getLoadBalancerListenerRules({\n    filters: [{\n        name: \"listener_rule_names\",\n        values: [\n            \"terraform-listener-rule02\",\n            \"terraform-listener-rule01\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nrules01 = outscale.get_load_balancer_listener_rules(filters=[{\n    \"name\": \"listener_rule_names\",\n    \"values\": [\n        \"terraform-listener-rule02\",\n        \"terraform-listener-rule01\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rules01 = Outscale.GetLoadBalancerListenerRules.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetLoadBalancerListenerRulesFilterInputArgs\n            {\n                Name = \"listener_rule_names\",\n                Values = new[]\n                {\n                    \"terraform-listener-rule02\",\n                    \"terraform-listener-rule01\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetLoadBalancerListenerRules(ctx, \u0026outscale.GetLoadBalancerListenerRulesArgs{\n\t\t\tFilters: []outscale.GetLoadBalancerListenerRulesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"listener_rule_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"terraform-listener-rule02\",\n\t\t\t\t\t\t\"terraform-listener-rule01\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetLoadBalancerListenerRulesArgs;\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 rules01 = OutscaleFunctions.getLoadBalancerListenerRules(GetLoadBalancerListenerRulesArgs.builder()\n            .filters(GetLoadBalancerListenerRulesFilterArgs.builder()\n                .name(\"listener_rule_names\")\n                .values(                \n                    \"terraform-listener-rule02\",\n                    \"terraform-listener-rule01\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  rules01:\n    fn::invoke:\n      function: outscale:getLoadBalancerListenerRules\n      arguments:\n        filters:\n          - name: listener_rule_names\n            values:\n              - terraform-listener-rule02\n              - terraform-listener-rule01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLoadBalancerListenerRules.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerListenerRulesFilter:getLoadBalancerListenerRulesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLoadBalancerListenerRules.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerListenerRulesFilter:getLoadBalancerListenerRulesFilter"},"type":"array"},"id":{"type":"string"},"listenerRules":{"description":"The list of the rules to describe.\n","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerListenerRulesListenerRule:getLoadBalancerListenerRulesListenerRule"},"type":"array"},"requestId":{"type":"string"}},"required":["id","listenerRules","requestId"],"type":"object"}},"outscale:index/getLoadBalancerTags:getLoadBalancerTags":{"inputs":{"description":"A collection of arguments for invoking getLoadBalancerTags.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerTagsFilter:getLoadBalancerTagsFilter"}},"id":{"type":"string"},"loadBalancerNames":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getLoadBalancerTags.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerTagsFilter:getLoadBalancerTagsFilter"},"type":"array"},"id":{"type":"string"},"loadBalancerNames":{"items":{"type":"string"},"type":"array"},"requestId":{"type":"string"},"tags":{"items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerTagsTag:getLoadBalancerTagsTag"},"type":"array"}},"required":["id","requestId","tags"],"type":"object"}},"outscale:index/getLoadBalancerVmHealth:getLoadBalancerVmHealth":{"description":"Provides information about the health of one or more backend VMs registered with a specific load balancer.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readvmshealth).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancerVmHealth01 = outscale.getLoadBalancerVmHealth({\n    loadBalancerName: \"load_balancer01\",\n    backendVmIds: [\n        \"i-12345678\",\n        \"i-87654321\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nload_balancer_vm_health01 = outscale.get_load_balancer_vm_health(load_balancer_name=\"load_balancer01\",\n    backend_vm_ids=[\n        \"i-12345678\",\n        \"i-87654321\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadBalancerVmHealth01 = Outscale.GetLoadBalancerVmHealth.Invoke(new()\n    {\n        LoadBalancerName = \"load_balancer01\",\n        BackendVmIds = new[]\n        {\n            \"i-12345678\",\n            \"i-87654321\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetLoadBalancerVmHealth(ctx, \u0026outscale.GetLoadBalancerVmHealthArgs{\n\t\t\tLoadBalancerName: \"load_balancer01\",\n\t\t\tBackendVmIds: []string{\n\t\t\t\t\"i-12345678\",\n\t\t\t\t\"i-87654321\",\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetLoadBalancerVmHealthArgs;\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 loadBalancerVmHealth01 = OutscaleFunctions.getLoadBalancerVmHealth(GetLoadBalancerVmHealthArgs.builder()\n            .loadBalancerName(\"load_balancer01\")\n            .backendVmIds(            \n                \"i-12345678\",\n                \"i-87654321\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  loadBalancerVmHealth01:\n    fn::invoke:\n      function: outscale:getLoadBalancerVmHealth\n      arguments:\n        loadBalancerName: load_balancer01\n        backendVmIds:\n          - i-12345678\n          - i-87654321\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLoadBalancerVmHealth.\n","properties":{"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of backend VMs.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerVmHealthFilter:getLoadBalancerVmHealthFilter"}},"id":{"type":"string"},"loadBalancerName":{"type":"string","description":"The name of the load balancer.\n"}},"type":"object","required":["loadBalancerName"]},"outputs":{"description":"A collection of values returned by getLoadBalancerVmHealth.\n","properties":{"backendVmHealths":{"description":"Information about the health of one or more backend VMs.\n","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerVmHealthBackendVmHealth:getLoadBalancerVmHealthBackendVmHealth"},"type":"array"},"backendVmIds":{"items":{"type":"string"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetLoadBalancerVmHealthFilter:getLoadBalancerVmHealthFilter"},"type":"array"},"id":{"type":"string"},"loadBalancerName":{"type":"string"},"requestId":{"type":"string"}},"required":["backendVmHealths","id","loadBalancerName","requestId"],"type":"object"}},"outscale:index/getLoadBalancers:getLoadBalancers":{"description":"Provides information about load balancers.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Load-Balancers.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-loadbalancer).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancers01 = outscale.getLoadBalancers({\n    filters: [{\n        name: \"load_balancer_names\",\n        values: [\n            \"load_balancer01\",\n            \"load_balancer02\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nload_balancers01 = outscale.get_load_balancers(filters=[{\n    \"name\": \"load_balancer_names\",\n    \"values\": [\n        \"load_balancer01\",\n        \"load_balancer02\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadBalancers01 = Outscale.GetLoadBalancers.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetLoadBalancersFilterInputArgs\n            {\n                Name = \"load_balancer_names\",\n                Values = new[]\n                {\n                    \"load_balancer01\",\n                    \"load_balancer02\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetLoadBalancers(ctx, \u0026outscale.GetLoadBalancersArgs{\n\t\t\tFilters: []outscale.GetLoadBalancersFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"load_balancer_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"load_balancer01\",\n\t\t\t\t\t\t\"load_balancer02\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetLoadBalancersArgs;\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 loadBalancers01 = OutscaleFunctions.getLoadBalancers(GetLoadBalancersArgs.builder()\n            .filters(GetLoadBalancersFilterArgs.builder()\n                .name(\"load_balancer_names\")\n                .values(                \n                    \"load_balancer01\",\n                    \"load_balancer02\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  loadBalancers01:\n    fn::invoke:\n      function: outscale:getLoadBalancers\n      arguments:\n        filters:\n          - name: load_balancer_names\n            values:\n              - load_balancer01\n              - load_balancer02\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLoadBalancers.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersFilter:getLoadBalancersFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"loadBalancerNames":{"type":"array","items":{"type":"string"},"description":"The name of the load balancer.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLoadBalancers.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersFilter:getLoadBalancersFilter"},"type":"array"},"id":{"type":"string"},"loadBalancerNames":{"description":"The name of the load balancer.\n","items":{"type":"string"},"type":"array"},"loadBalancers":{"items":{"$ref":"#/types/outscale:index%2FgetLoadBalancersLoadBalancer:getLoadBalancersLoadBalancer"},"type":"array"},"requestId":{"type":"string"}},"required":["id","loadBalancers","requestId"],"type":"object"}},"outscale:index/getNatService:getNatService":{"description":"Provides information about a NAT service.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-NAT-Services.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-natservice).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst natService01 = outscale.getNatService({\n    filters: [{\n        name: \"nat_service_ids\",\n        values: [\"nat-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnat_service01 = outscale.get_nat_service(filters=[{\n    \"name\": \"nat_service_ids\",\n    \"values\": [\"nat-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var natService01 = Outscale.GetNatService.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNatServiceFilterInputArgs\n            {\n                Name = \"nat_service_ids\",\n                Values = new[]\n                {\n                    \"nat-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupNatService(ctx, \u0026outscale.LookupNatServiceArgs{\n\t\t\tFilters: []outscale.GetNatServiceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"nat_service_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"nat-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNatServiceArgs;\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 natService01 = OutscaleFunctions.getNatService(GetNatServiceArgs.builder()\n            .filters(GetNatServiceFilterArgs.builder()\n                .name(\"nat_service_ids\")\n                .values(\"nat-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  natService01:\n    fn::invoke:\n      function: outscale:getNatService\n      arguments:\n        filters:\n          - name: nat_service_ids\n            values:\n              - nat-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNatService.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNatServiceFilter:getNatServiceFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"natServiceId":{"type":"string","description":"The ID of the NAT service.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNatService.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNatServiceFilter:getNatServiceFilter"},"type":"array"},"id":{"type":"string"},"natServiceId":{"description":"The ID of the NAT service.\n","type":"string"},"netId":{"description":"The ID of the Net in which the NAT service is.\n","type":"string"},"publicIps":{"description":"Information about the public IP or IPs associated with the NAT service.\n","items":{"$ref":"#/types/outscale:index%2FgetNatServicePublicIp:getNatServicePublicIp"},"type":"array"},"requestId":{"type":"string"},"state":{"description":"The state of the NAT service (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n","type":"string"},"subnetId":{"description":"The ID of the Subnet in which the NAT service is.\n","type":"string"},"tags":{"description":"One or more tags associated with the NAT service.\n","items":{"$ref":"#/types/outscale:index%2FgetNatServiceTag:getNatServiceTag"},"type":"array"}},"required":["id","netId","publicIps","requestId","state","subnetId","tags"],"type":"object"}},"outscale:index/getNatServices:getNatServices":{"description":"Provides information about NAT services.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-NAT-Services.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-natservice).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst natServices01 = outscale.getNatServices({\n    filters: [\n        {\n            name: \"net_ids\",\n            values: [\n                \"vpc-12345678\",\n                \"vpc-87654321\",\n            ],\n        },\n        {\n            name: \"subnet_ids\",\n            values: [\"eu-west-2a\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnat_services01 = outscale.get_nat_services(filters=[\n    {\n        \"name\": \"net_ids\",\n        \"values\": [\n            \"vpc-12345678\",\n            \"vpc-87654321\",\n        ],\n    },\n    {\n        \"name\": \"subnet_ids\",\n        \"values\": [\"eu-west-2a\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var natServices01 = Outscale.GetNatServices.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNatServicesFilterInputArgs\n            {\n                Name = \"net_ids\",\n                Values = new[]\n                {\n                    \"vpc-12345678\",\n                    \"vpc-87654321\",\n                },\n            },\n            new Outscale.Inputs.GetNatServicesFilterInputArgs\n            {\n                Name = \"subnet_ids\",\n                Values = new[]\n                {\n                    \"eu-west-2a\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetNatServices(ctx, \u0026outscale.GetNatServicesArgs{\n\t\t\tFilters: []outscale.GetNatServicesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t\t\"vpc-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"subnet_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"eu-west-2a\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNatServicesArgs;\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 natServices01 = OutscaleFunctions.getNatServices(GetNatServicesArgs.builder()\n            .filters(            \n                GetNatServicesFilterArgs.builder()\n                    .name(\"net_ids\")\n                    .values(                    \n                        \"vpc-12345678\",\n                        \"vpc-87654321\")\n                    .build(),\n                GetNatServicesFilterArgs.builder()\n                    .name(\"subnet_ids\")\n                    .values(\"eu-west-2a\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  natServices01:\n    fn::invoke:\n      function: outscale:getNatServices\n      arguments:\n        filters:\n          - name: net_ids\n            values:\n              - vpc-12345678\n              - vpc-87654321\n          - name: subnet_ids\n            values:\n              - eu-west-2a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNatServices.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNatServicesFilter:getNatServicesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"natServiceIds":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getNatServices.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNatServicesFilter:getNatServicesFilter"},"type":"array"},"id":{"type":"string"},"natServiceIds":{"items":{"type":"string"},"type":"array"},"natServices":{"description":"Information about one or more NAT services.\n","items":{"$ref":"#/types/outscale:index%2FgetNatServicesNatService:getNatServicesNatService"},"type":"array"},"requestId":{"type":"string"}},"required":["id","natServices","requestId"],"type":"object"}},"outscale:index/getNet:getNet":{"description":"Provides information about a Net.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Nets.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-net).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = outscale.getNet({\n    filters: [{\n        name: \"net_ids\",\n        values: [\"vpc-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.get_net(filters=[{\n    \"name\": \"net_ids\",\n    \"values\": [\"vpc-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var net01 = Outscale.GetNet.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetFilterInputArgs\n            {\n                Name = \"net_ids\",\n                Values = new[]\n                {\n                    \"vpc-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupNet(ctx, \u0026outscale.LookupNetArgs{\n\t\t\tFilters: []outscale.GetNetFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetArgs;\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 net01 = OutscaleFunctions.getNet(GetNetArgs.builder()\n            .filters(GetNetFilterArgs.builder()\n                .name(\"net_ids\")\n                .values(\"vpc-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  net01:\n    fn::invoke:\n      function: outscale:getNet\n      arguments:\n        filters:\n          - name: net_ids\n            values:\n              - vpc-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNet.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetFilter:getNetFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"netId":{"type":"string","description":"The ID of the Net.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNet.\n","properties":{"dhcpOptionsSetId":{"description":"The ID of the DHCP options set (or \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if you want to associate the default one).\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNetFilter:getNetFilter"},"type":"array"},"id":{"type":"string"},"ipRange":{"description":"The IP range for the Net, in CIDR notation (for example, `10.0.0.0/16`).\n","type":"string"},"netId":{"description":"The ID of the Net.\n","type":"string"},"requestId":{"type":"string"},"state":{"description":"The state of the Net (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n","type":"string"},"tags":{"description":"One or more tags associated with the Net.\n","items":{"$ref":"#/types/outscale:index%2FgetNetTag:getNetTag"},"type":"array"},"tenancy":{"description":"The VM tenancy in a Net.\n","type":"string"}},"required":["dhcpOptionsSetId","id","ipRange","netId","requestId","state","tags","tenancy"],"type":"object"}},"outscale:index/getNetAccessPoint:getNetAccessPoint":{"description":"Provides information about a Net access point.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Net-Access-Points.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netaccesspoint).\n\n## Example Usage\n\n### List a Net access point\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netAccessPoint01 = outscale.getNetAccessPoint({\n    filters: [{\n        name: \"net_access_point_ids\",\n        values: [\"vpce-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_access_point01 = outscale.get_net_access_point(filters=[{\n    \"name\": \"net_access_point_ids\",\n    \"values\": [\"vpce-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netAccessPoint01 = Outscale.GetNetAccessPoint.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetAccessPointFilterInputArgs\n            {\n                Name = \"net_access_point_ids\",\n                Values = new[]\n                {\n                    \"vpce-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupNetAccessPoint(ctx, \u0026outscale.LookupNetAccessPointArgs{\n\t\t\tFilters: []outscale.GetNetAccessPointFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_access_point_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpce-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetAccessPointArgs;\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 netAccessPoint01 = OutscaleFunctions.getNetAccessPoint(GetNetAccessPointArgs.builder()\n            .filters(GetNetAccessPointFilterArgs.builder()\n                .name(\"net_access_point_ids\")\n                .values(\"vpce-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  netAccessPoint01:\n    fn::invoke:\n      function: outscale:getNetAccessPoint\n      arguments:\n        filters:\n          - name: net_access_point_ids\n            values:\n              - vpce-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### List a Net access point according to its Net and state\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netAccessPoint02 = outscale.getNetAccessPoint({\n    filters: [\n        {\n            name: \"net_ids\",\n            values: [\"vpc-12345678\"],\n        },\n        {\n            name: \"states\",\n            values: [\"available\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_access_point02 = outscale.get_net_access_point(filters=[\n    {\n        \"name\": \"net_ids\",\n        \"values\": [\"vpc-12345678\"],\n    },\n    {\n        \"name\": \"states\",\n        \"values\": [\"available\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netAccessPoint02 = Outscale.GetNetAccessPoint.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetAccessPointFilterInputArgs\n            {\n                Name = \"net_ids\",\n                Values = new[]\n                {\n                    \"vpc-12345678\",\n                },\n            },\n            new Outscale.Inputs.GetNetAccessPointFilterInputArgs\n            {\n                Name = \"states\",\n                Values = new[]\n                {\n                    \"available\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupNetAccessPoint(ctx, \u0026outscale.LookupNetAccessPointArgs{\n\t\t\tFilters: []outscale.GetNetAccessPointFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"available\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetAccessPointArgs;\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 netAccessPoint02 = OutscaleFunctions.getNetAccessPoint(GetNetAccessPointArgs.builder()\n            .filters(            \n                GetNetAccessPointFilterArgs.builder()\n                    .name(\"net_ids\")\n                    .values(\"vpc-12345678\")\n                    .build(),\n                GetNetAccessPointFilterArgs.builder()\n                    .name(\"states\")\n                    .values(\"available\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  netAccessPoint02:\n    fn::invoke:\n      function: outscale:getNetAccessPoint\n      arguments:\n        filters:\n          - name: net_ids\n            values:\n              - vpc-12345678\n          - name: states\n            values:\n              - available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetAccessPoint.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointFilter:getNetAccessPointFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetAccessPoint.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointFilter:getNetAccessPointFilter"},"type":"array"},"id":{"type":"string"},"netAccessPointId":{"description":"The ID of the Net access point.\n","type":"string"},"netId":{"description":"The ID of the Net with which the Net access point is associated.\n","type":"string"},"requestId":{"type":"string"},"routeTableIds":{"description":"The ID of the route tables associated with the Net access point.\n","items":{"type":"string"},"type":"array"},"serviceName":{"description":"The name of the service with which the Net access point is associated.\n","type":"string"},"state":{"description":"The state of the Net access point (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n","type":"string"},"tags":{"description":"One or more tags associated with the Net access point.\n","items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointTag:getNetAccessPointTag"},"type":"array"}},"required":["id","netAccessPointId","netId","requestId","routeTableIds","serviceName","state","tags"],"type":"object"}},"outscale:index/getNetAccessPointServices:getNetAccessPointServices":{"description":"Provides information about Net access point services.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Net-Access-Points.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netaccesspoint).\n\n## Example Usage\n\n### List all services available to create Net access points\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst all_services = outscale.getNetAccessPointServices({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nall_services = outscale.get_net_access_point_services()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all_services = Outscale.GetNetAccessPointServices.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetNetAccessPointServices(ctx, \u0026outscale.GetNetAccessPointServicesArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetAccessPointServicesArgs;\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 all-services = OutscaleFunctions.getNetAccessPointServices(GetNetAccessPointServicesArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  all-services:\n    fn::invoke:\n      function: outscale:getNetAccessPointServices\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### List one or more services according to their service IDs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst services01 = outscale.getNetAccessPointServices({\n    filters: [{\n        name: \"service_ids\",\n        values: [\n            \"pl-12345678\",\n            \"pl-12345679\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nservices01 = outscale.get_net_access_point_services(filters=[{\n    \"name\": \"service_ids\",\n    \"values\": [\n        \"pl-12345678\",\n        \"pl-12345679\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var services01 = Outscale.GetNetAccessPointServices.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetAccessPointServicesFilterInputArgs\n            {\n                Name = \"service_ids\",\n                Values = new[]\n                {\n                    \"pl-12345678\",\n                    \"pl-12345679\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetNetAccessPointServices(ctx, \u0026outscale.GetNetAccessPointServicesArgs{\n\t\t\tFilters: []outscale.GetNetAccessPointServicesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"service_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"pl-12345678\",\n\t\t\t\t\t\t\"pl-12345679\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetAccessPointServicesArgs;\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 services01 = OutscaleFunctions.getNetAccessPointServices(GetNetAccessPointServicesArgs.builder()\n            .filters(GetNetAccessPointServicesFilterArgs.builder()\n                .name(\"service_ids\")\n                .values(                \n                    \"pl-12345678\",\n                    \"pl-12345679\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  services01:\n    fn::invoke:\n      function: outscale:getNetAccessPointServices\n      arguments:\n        filters:\n          - name: service_ids\n            values:\n              - pl-12345678\n              - pl-12345679\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### List one or more services according to their service names\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst services02 = outscale.getNetAccessPointServices({\n    filters: [{\n        name: \"service_names\",\n        values: [\"com.outscale.eu-west-2.api\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nservices02 = outscale.get_net_access_point_services(filters=[{\n    \"name\": \"service_names\",\n    \"values\": [\"com.outscale.eu-west-2.api\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var services02 = Outscale.GetNetAccessPointServices.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetAccessPointServicesFilterInputArgs\n            {\n                Name = \"service_names\",\n                Values = new[]\n                {\n                    \"com.outscale.eu-west-2.api\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetNetAccessPointServices(ctx, \u0026outscale.GetNetAccessPointServicesArgs{\n\t\t\tFilters: []outscale.GetNetAccessPointServicesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"service_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"com.outscale.eu-west-2.api\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetAccessPointServicesArgs;\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 services02 = OutscaleFunctions.getNetAccessPointServices(GetNetAccessPointServicesArgs.builder()\n            .filters(GetNetAccessPointServicesFilterArgs.builder()\n                .name(\"service_names\")\n                .values(\"com.outscale.eu-west-2.api\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  services02:\n    fn::invoke:\n      function: outscale:getNetAccessPointServices\n      arguments:\n        filters:\n          - name: service_names\n            values:\n              - com.outscale.eu-west-2.api\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetAccessPointServices.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointServicesFilter:getNetAccessPointServicesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetAccessPointServices.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointServicesFilter:getNetAccessPointServicesFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"services":{"description":"The names of the services you can use for Net access points.\n","items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointServicesService:getNetAccessPointServicesService"},"type":"array"}},"required":["id","requestId","services"],"type":"object"}},"outscale:index/getNetAccessPoints:getNetAccessPoints":{"description":"Provides information about Net access points.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Net-Access-Points.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netaccesspoint).\n\n## Example Usage\n\n### List Net access points\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netAccessPoints01 = outscale.getNetAccessPoints({\n    filters: [{\n        name: \"net_access_point_ids\",\n        values: [\n            \"vpce-12345678\",\n            \"vpce-12345679\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_access_points01 = outscale.get_net_access_points(filters=[{\n    \"name\": \"net_access_point_ids\",\n    \"values\": [\n        \"vpce-12345678\",\n        \"vpce-12345679\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netAccessPoints01 = Outscale.GetNetAccessPoints.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetAccessPointsFilterInputArgs\n            {\n                Name = \"net_access_point_ids\",\n                Values = new[]\n                {\n                    \"vpce-12345678\",\n                    \"vpce-12345679\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetNetAccessPoints(ctx, \u0026outscale.GetNetAccessPointsArgs{\n\t\t\tFilters: []outscale.GetNetAccessPointsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_access_point_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpce-12345678\",\n\t\t\t\t\t\t\"vpce-12345679\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetAccessPointsArgs;\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 netAccessPoints01 = OutscaleFunctions.getNetAccessPoints(GetNetAccessPointsArgs.builder()\n            .filters(GetNetAccessPointsFilterArgs.builder()\n                .name(\"net_access_point_ids\")\n                .values(                \n                    \"vpce-12345678\",\n                    \"vpce-12345679\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  netAccessPoints01:\n    fn::invoke:\n      function: outscale:getNetAccessPoints\n      arguments:\n        filters:\n          - name: net_access_point_ids\n            values:\n              - vpce-12345678\n              - vpce-12345679\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### List Net access points according to their Net and state\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netAccessPoints02 = outscale.getNetAccessPoints({\n    filters: [\n        {\n            name: \"net_ids\",\n            values: [\"vpc-12345678\"],\n        },\n        {\n            name: \"states\",\n            values: [\"available\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_access_points02 = outscale.get_net_access_points(filters=[\n    {\n        \"name\": \"net_ids\",\n        \"values\": [\"vpc-12345678\"],\n    },\n    {\n        \"name\": \"states\",\n        \"values\": [\"available\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netAccessPoints02 = Outscale.GetNetAccessPoints.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetAccessPointsFilterInputArgs\n            {\n                Name = \"net_ids\",\n                Values = new[]\n                {\n                    \"vpc-12345678\",\n                },\n            },\n            new Outscale.Inputs.GetNetAccessPointsFilterInputArgs\n            {\n                Name = \"states\",\n                Values = new[]\n                {\n                    \"available\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetNetAccessPoints(ctx, \u0026outscale.GetNetAccessPointsArgs{\n\t\t\tFilters: []outscale.GetNetAccessPointsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"available\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetAccessPointsArgs;\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 netAccessPoints02 = OutscaleFunctions.getNetAccessPoints(GetNetAccessPointsArgs.builder()\n            .filters(            \n                GetNetAccessPointsFilterArgs.builder()\n                    .name(\"net_ids\")\n                    .values(\"vpc-12345678\")\n                    .build(),\n                GetNetAccessPointsFilterArgs.builder()\n                    .name(\"states\")\n                    .values(\"available\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  netAccessPoints02:\n    fn::invoke:\n      function: outscale:getNetAccessPoints\n      arguments:\n        filters:\n          - name: net_ids\n            values:\n              - vpc-12345678\n          - name: states\n            values:\n              - available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetAccessPoints.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointsFilter:getNetAccessPointsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetAccessPoints.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointsFilter:getNetAccessPointsFilter"},"type":"array"},"id":{"type":"string"},"netAccessPoints":{"description":"One or more Net access points.\n","items":{"$ref":"#/types/outscale:index%2FgetNetAccessPointsNetAccessPoint:getNetAccessPointsNetAccessPoint"},"type":"array"},"requestId":{"type":"string"}},"required":["id","netAccessPoints","requestId"],"type":"object"}},"outscale:index/getNetAttributes:getNetAttributes":{"description":"Provides information about the attributes of a Net.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-DHCP-Options.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#updatenet).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netAttributes01 = outscale.getNetAttributes({\n    netId: \"vpc-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_attributes01 = outscale.get_net_attributes(net_id=\"vpc-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netAttributes01 = Outscale.GetNetAttributes.Invoke(new()\n    {\n        NetId = \"vpc-12345678\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupNetAttributes(ctx, \u0026outscale.LookupNetAttributesArgs{\n\t\t\tNetId: \"vpc-12345678\",\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetAttributesArgs;\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 netAttributes01 = OutscaleFunctions.getNetAttributes(GetNetAttributesArgs.builder()\n            .netId(\"vpc-12345678\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  netAttributes01:\n    fn::invoke:\n      function: outscale:getNetAttributes\n      arguments:\n        netId: vpc-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetAttributes.\n","properties":{"id":{"type":"string"},"netId":{"type":"string","description":"The ID of the Net.\n"}},"type":"object","required":["netId"]},"outputs":{"description":"A collection of values returned by getNetAttributes.\n","properties":{"dhcpOptionsSetId":{"description":"The ID of the DHCP options set (or \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e if you want to associate the default one).\n","type":"string"},"id":{"type":"string"},"ipRange":{"description":"The IP range for the Net, in CIDR notation (for example, `10.0.0.0/16`).\n","type":"string"},"netId":{"description":"The ID of the Net.\n","type":"string"},"requestId":{"type":"string"},"state":{"description":"The state of the Net (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n","type":"string"},"tags":{"description":"One or more tags associated with the Net.\n","items":{"$ref":"#/types/outscale:index%2FgetNetAttributesTag:getNetAttributesTag"},"type":"array"},"tenancy":{"description":"The VM tenancy in a Net.\n","type":"string"}},"required":["dhcpOptionsSetId","id","ipRange","netId","requestId","state","tags","tenancy"],"type":"object"}},"outscale:index/getNetPeering:getNetPeering":{"description":"Provides information about a Net peering.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Net-Peerings.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netpeering).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netPeering01 = outscale.getNetPeering({\n    filters: [{\n        name: \"net_peering_ids\",\n        values: [\"pcx-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_peering01 = outscale.get_net_peering(filters=[{\n    \"name\": \"net_peering_ids\",\n    \"values\": [\"pcx-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netPeering01 = Outscale.GetNetPeering.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetPeeringFilterInputArgs\n            {\n                Name = \"net_peering_ids\",\n                Values = new[]\n                {\n                    \"pcx-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupNetPeering(ctx, \u0026outscale.LookupNetPeeringArgs{\n\t\t\tFilters: []outscale.GetNetPeeringFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_peering_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"pcx-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetPeeringArgs;\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 netPeering01 = OutscaleFunctions.getNetPeering(GetNetPeeringArgs.builder()\n            .filters(GetNetPeeringFilterArgs.builder()\n                .name(\"net_peering_ids\")\n                .values(\"pcx-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  netPeering01:\n    fn::invoke:\n      function: outscale:getNetPeering\n      arguments:\n        filters:\n          - name: net_peering_ids\n            values:\n              - pcx-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetPeering.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringFilter:getNetPeeringFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetPeering.\n","properties":{"accepterNets":{"description":"Information about the accepter Net.\n","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringAccepterNet:getNetPeeringAccepterNet"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNetPeeringFilter:getNetPeeringFilter"},"type":"array"},"id":{"type":"string"},"netPeeringId":{"description":"The ID of the Net peering.\n","type":"string"},"requestId":{"type":"string"},"sourceNets":{"description":"Information about the source Net.\n","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringSourceNet:getNetPeeringSourceNet"},"type":"array"},"states":{"description":"Information about the state of the Net peering.\n","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringState:getNetPeeringState"},"type":"array"},"tags":{"description":"One or more tags associated with the Net peering.\n","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringTag:getNetPeeringTag"},"type":"array"}},"required":["accepterNets","id","netPeeringId","requestId","sourceNets","states","tags"],"type":"object"}},"outscale:index/getNetPeerings:getNetPeerings":{"description":"Provides information about Net peerings.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Net-Peerings.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netpeering).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netPeerings01 = outscale.getNetPeerings({\n    filters: [\n        {\n            name: \"source_net_net_ids\",\n            values: [\"vpc-12345678\"],\n        },\n        {\n            name: \"state_names\",\n            values: [\n                \"active\",\n                \"pending-acceptance\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_peerings01 = outscale.get_net_peerings(filters=[\n    {\n        \"name\": \"source_net_net_ids\",\n        \"values\": [\"vpc-12345678\"],\n    },\n    {\n        \"name\": \"state_names\",\n        \"values\": [\n            \"active\",\n            \"pending-acceptance\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var netPeerings01 = Outscale.GetNetPeerings.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetPeeringsFilterInputArgs\n            {\n                Name = \"source_net_net_ids\",\n                Values = new[]\n                {\n                    \"vpc-12345678\",\n                },\n            },\n            new Outscale.Inputs.GetNetPeeringsFilterInputArgs\n            {\n                Name = \"state_names\",\n                Values = new[]\n                {\n                    \"active\",\n                    \"pending-acceptance\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetNetPeerings(ctx, \u0026outscale.GetNetPeeringsArgs{\n\t\t\tFilters: []outscale.GetNetPeeringsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"source_net_net_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"state_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"active\",\n\t\t\t\t\t\t\"pending-acceptance\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetPeeringsArgs;\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 netPeerings01 = OutscaleFunctions.getNetPeerings(GetNetPeeringsArgs.builder()\n            .filters(            \n                GetNetPeeringsFilterArgs.builder()\n                    .name(\"source_net_net_ids\")\n                    .values(\"vpc-12345678\")\n                    .build(),\n                GetNetPeeringsFilterArgs.builder()\n                    .name(\"state_names\")\n                    .values(                    \n                        \"active\",\n                        \"pending-acceptance\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  netPeerings01:\n    fn::invoke:\n      function: outscale:getNetPeerings\n      arguments:\n        filters:\n          - name: source_net_net_ids\n            values:\n              - vpc-12345678\n          - name: state_names\n            values:\n              - active\n              - pending-acceptance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetPeerings.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringsFilter:getNetPeeringsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetPeerings.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNetPeeringsFilter:getNetPeeringsFilter"},"type":"array"},"id":{"type":"string"},"netPeerings":{"description":"Information about one or more Net peerings.\n","items":{"$ref":"#/types/outscale:index%2FgetNetPeeringsNetPeering:getNetPeeringsNetPeering"},"type":"array"},"requestId":{"type":"string"}},"required":["id","netPeerings","requestId"],"type":"object"}},"outscale:index/getNets:getNets":{"description":"Provides information about Nets.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Nets.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-net).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nets01 = outscale.getNets({\n    filters: [\n        {\n            name: \"net_ids\",\n            values: [\n                \"vpc-12345678\",\n                \"vpc-87654321\",\n            ],\n        },\n        {\n            name: \"ip_ranges\",\n            values: [\"10.0.0.0/16\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnets01 = outscale.get_nets(filters=[\n    {\n        \"name\": \"net_ids\",\n        \"values\": [\n            \"vpc-12345678\",\n            \"vpc-87654321\",\n        ],\n    },\n    {\n        \"name\": \"ip_ranges\",\n        \"values\": [\"10.0.0.0/16\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nets01 = Outscale.GetNets.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNetsFilterInputArgs\n            {\n                Name = \"net_ids\",\n                Values = new[]\n                {\n                    \"vpc-12345678\",\n                    \"vpc-87654321\",\n                },\n            },\n            new Outscale.Inputs.GetNetsFilterInputArgs\n            {\n                Name = \"ip_ranges\",\n                Values = new[]\n                {\n                    \"10.0.0.0/16\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetNets(ctx, \u0026outscale.GetNetsArgs{\n\t\t\tFilters: []outscale.GetNetsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t\t\"vpc-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"ip_ranges\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"10.0.0.0/16\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNetsArgs;\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 nets01 = OutscaleFunctions.getNets(GetNetsArgs.builder()\n            .filters(            \n                GetNetsFilterArgs.builder()\n                    .name(\"net_ids\")\n                    .values(                    \n                        \"vpc-12345678\",\n                        \"vpc-87654321\")\n                    .build(),\n                GetNetsFilterArgs.builder()\n                    .name(\"ip_ranges\")\n                    .values(\"10.0.0.0/16\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  nets01:\n    fn::invoke:\n      function: outscale:getNets\n      arguments:\n        filters:\n          - name: net_ids\n            values:\n              - vpc-12345678\n              - vpc-87654321\n          - name: ip_ranges\n            values:\n              - 10.0.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNets.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNetsFilter:getNetsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"netIds":{"type":"array","items":{"type":"string"},"description":"The ID of the Net.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNets.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNetsFilter:getNetsFilter"},"type":"array"},"id":{"type":"string"},"netIds":{"description":"The ID of the Net.\n","items":{"type":"string"},"type":"array"},"nets":{"description":"Information about the described Nets.\n","items":{"$ref":"#/types/outscale:index%2FgetNetsNet:getNetsNet"},"type":"array"},"requestId":{"type":"string"}},"required":["id","nets","requestId"],"type":"object"}},"outscale:index/getNic:getNic":{"description":"Provides information about a network interface card (NIC).\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-NICs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nic01 = outscale.getNic({\n    filters: [{\n        name: \"nic_ids\",\n        values: [\"eni-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnic01 = outscale.get_nic(filters=[{\n    \"name\": \"nic_ids\",\n    \"values\": [\"eni-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nic01 = Outscale.GetNic.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNicFilterInputArgs\n            {\n                Name = \"nic_ids\",\n                Values = new[]\n                {\n                    \"eni-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupNic(ctx, \u0026outscale.LookupNicArgs{\n\t\t\tFilters: []outscale.GetNicFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"nic_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"eni-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNicArgs;\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 nic01 = OutscaleFunctions.getNic(GetNicArgs.builder()\n            .filters(GetNicFilterArgs.builder()\n                .name(\"nic_ids\")\n                .values(\"eni-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  nic01:\n    fn::invoke:\n      function: outscale:getNic\n      arguments:\n        filters:\n          - name: nic_ids\n            values:\n              - eni-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNic.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNicFilter:getNicFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNic.\n","properties":{"accountId":{"description":"The account ID of the owner of the NIC.\n","type":"string"},"description":{"description":"The description of the NIC.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNicFilter:getNicFilter"},"type":"array"},"id":{"type":"string"},"isSourceDestChecked":{"description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n","type":"boolean"},"linkNics":{"description":"Information about the NIC attachment.\n","items":{"$ref":"#/types/outscale:index%2FgetNicLinkNic:getNicLinkNic"},"type":"array"},"linkPublicIps":{"description":"Information about the public IP association.\n","items":{"$ref":"#/types/outscale:index%2FgetNicLinkPublicIp:getNicLinkPublicIp"},"type":"array"},"macAddress":{"description":"The Media Access Control (MAC) address of the NIC.\n","type":"string"},"netId":{"description":"The ID of the Net for the NIC.\n","type":"string"},"nicId":{"description":"The ID of the NIC.\n","type":"string"},"privateDnsName":{"description":"The name of the private DNS.\n","type":"string"},"privateIp":{"description":"The private IP of the NIC.\n","type":"string"},"privateIps":{"description":"The private IPs of the NIC.\n","items":{"$ref":"#/types/outscale:index%2FgetNicPrivateIp:getNicPrivateIp"},"type":"array"},"requestId":{"type":"string"},"requesterManaged":{"type":"boolean"},"securityGroupIds":{"description":"The ID of the security group.\n","items":{"type":"string"},"type":"array"},"securityGroups":{"description":"One or more IDs of security groups for the NIC.\n","items":{"$ref":"#/types/outscale:index%2FgetNicSecurityGroup:getNicSecurityGroup"},"type":"array"},"state":{"description":"The state of the NIC (\u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`attaching`\" pulumi-lang-dotnet=\"`Attaching`\" pulumi-lang-go=\"`attaching`\" pulumi-lang-python=\"`attaching`\" pulumi-lang-yaml=\"`attaching`\" pulumi-lang-java=\"`attaching`\"\u003e`attaching`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`detaching`\" pulumi-lang-dotnet=\"`Detaching`\" pulumi-lang-go=\"`detaching`\" pulumi-lang-python=\"`detaching`\" pulumi-lang-yaml=\"`detaching`\" pulumi-lang-java=\"`detaching`\"\u003e`detaching`\u003c/span\u003e).\n","type":"string"},"subnetId":{"description":"The ID of the Subnet.\n","type":"string"},"subregionName":{"description":"The Subregion in which the NIC is located.\n","type":"string"},"tags":{"description":"One or more tags associated with the NIC.\n","items":{"$ref":"#/types/outscale:index%2FgetNicTag:getNicTag"},"type":"array"}},"required":["accountId","description","id","isSourceDestChecked","linkNics","linkPublicIps","macAddress","netId","nicId","privateDnsName","privateIp","privateIps","requestId","requesterManaged","securityGroupIds","securityGroups","state","subnetId","subregionName","tags"],"type":"object"}},"outscale:index/getNics:getNics":{"description":"Provides information about network interface cards (NICs).\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-NICs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nics01 = outscale.getNics({\n    filters: [\n        {\n            name: \"nic_ids\",\n            values: [\n                \"eni-12345678\",\n                \"eni-87654321\",\n            ],\n        },\n        {\n            name: \"link_nic_vm_ids\",\n            values: [\"i-12345678\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnics01 = outscale.get_nics(filters=[\n    {\n        \"name\": \"nic_ids\",\n        \"values\": [\n            \"eni-12345678\",\n            \"eni-87654321\",\n        ],\n    },\n    {\n        \"name\": \"link_nic_vm_ids\",\n        \"values\": [\"i-12345678\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nics01 = Outscale.GetNics.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetNicsFilterInputArgs\n            {\n                Name = \"nic_ids\",\n                Values = new[]\n                {\n                    \"eni-12345678\",\n                    \"eni-87654321\",\n                },\n            },\n            new Outscale.Inputs.GetNicsFilterInputArgs\n            {\n                Name = \"link_nic_vm_ids\",\n                Values = new[]\n                {\n                    \"i-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetNics(ctx, \u0026outscale.GetNicsArgs{\n\t\t\tFilters: []outscale.GetNicsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"nic_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"eni-12345678\",\n\t\t\t\t\t\t\"eni-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"link_nic_vm_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"i-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetNicsArgs;\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 nics01 = OutscaleFunctions.getNics(GetNicsArgs.builder()\n            .filters(            \n                GetNicsFilterArgs.builder()\n                    .name(\"nic_ids\")\n                    .values(                    \n                        \"eni-12345678\",\n                        \"eni-87654321\")\n                    .build(),\n                GetNicsFilterArgs.builder()\n                    .name(\"link_nic_vm_ids\")\n                    .values(\"i-12345678\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  nics01:\n    fn::invoke:\n      function: outscale:getNics\n      arguments:\n        filters:\n          - name: nic_ids\n            values:\n              - eni-12345678\n              - eni-87654321\n          - name: link_nic_vm_ids\n            values:\n              - i-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNics.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetNicsFilter:getNicsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNics.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetNicsFilter:getNicsFilter"},"type":"array"},"id":{"type":"string"},"nics":{"description":"Information about one or more NICs.\n","items":{"$ref":"#/types/outscale:index%2FgetNicsNic:getNicsNic"},"type":"array"},"requestId":{"type":"string"}},"required":["id","nics","requestId"],"type":"object"}},"outscale:index/getOksKubeconfig:getOksKubeconfig":{"description":"Provides information about a kubeconfig file.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/Accessing-a-Cluster.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/oks.html#getkubeconfigwithpubkeynacl).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst config = outscale.getOksKubeconfig({\n    clusterId: \"00000000-0000-4000-8000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nconfig = outscale.get_oks_kubeconfig(cluster_id=\"00000000-0000-4000-8000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = Outscale.GetOksKubeconfig.Invoke(new()\n    {\n        ClusterId = \"00000000-0000-4000-8000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetOksKubeconfig(ctx, \u0026outscale.GetOksKubeconfigArgs{\n\t\t\tClusterId: \"00000000-0000-4000-8000-000000000000\",\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetOksKubeconfigArgs;\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 config = OutscaleFunctions.getOksKubeconfig(GetOksKubeconfigArgs.builder()\n            .clusterId(\"00000000-0000-4000-8000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  config:\n    fn::invoke:\n      function: outscale:getOksKubeconfig\n      arguments:\n        clusterId: 00000000-0000-4000-8000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOksKubeconfig.\n","properties":{"clusterId":{"type":"string","description":"The ID of the cluster.\n"},"group":{"type":"string","description":"The group of the kubeconfig file.\n"},"ttl":{"type":"string","description":"The time to live (TTL) of the kubeconfig file.\n* `x-encrypt-nacl` - (Optional) The header to encrypt the kubeconfig file.\n"},"user":{"type":"string","description":"The user of the kubeconfig file.\n"},"xEncryptNacl":{"type":"string","secret":true}},"type":"object","required":["clusterId"]},"outputs":{"description":"A collection of values returned by getOksKubeconfig.\n","properties":{"clusterId":{"type":"string"},"group":{"type":"string"},"id":{"type":"string"},"kubeconfig":{"description":"A file containing access configuration to the cluster.\n","secret":true,"type":"string"},"requestId":{"type":"string"},"ttl":{"type":"string"},"user":{"type":"string"},"xEncryptNacl":{"secret":true,"type":"string"}},"required":["clusterId","id","kubeconfig","requestId"],"type":"object"}},"outscale:index/getOksQuotas:getOksQuotas":{"outputs":{"description":"A collection of values returned by getOksQuotas.\n","properties":{"clustersPerProject":{"type":"number"},"cpSubregions":{"items":{"type":"string"},"type":"array"},"id":{"type":"string"},"kubeVersions":{"items":{"type":"string"},"type":"array"},"projects":{"type":"number"},"requestId":{"type":"string"}},"required":["clustersPerProject","cpSubregions","id","kubeVersions","projects","requestId"],"type":"object"}},"outscale:index/getPolicies:getPolicies":{"description":"Provides information about policies.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Policies.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#3ds-outscale-api-policy).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst userPolicies = outscale.getPolicies({\n    filters: [\n        {\n            name: \"only_linked\",\n            values: [\"true\"],\n        },\n        {\n            name: \"path_prefix\",\n            values: [\"/\"],\n        },\n        {\n            name: \"scope\",\n            values: [\"LOCAL\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nuser_policies = outscale.get_policies(filters=[\n    {\n        \"name\": \"only_linked\",\n        \"values\": [\"true\"],\n    },\n    {\n        \"name\": \"path_prefix\",\n        \"values\": [\"/\"],\n    },\n    {\n        \"name\": \"scope\",\n        \"values\": [\"LOCAL\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var userPolicies = Outscale.GetPolicies.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetPoliciesFilterInputArgs\n            {\n                Name = \"only_linked\",\n                Values = new[]\n                {\n                    \"true\",\n                },\n            },\n            new Outscale.Inputs.GetPoliciesFilterInputArgs\n            {\n                Name = \"path_prefix\",\n                Values = new[]\n                {\n                    \"/\",\n                },\n            },\n            new Outscale.Inputs.GetPoliciesFilterInputArgs\n            {\n                Name = \"scope\",\n                Values = new[]\n                {\n                    \"LOCAL\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetPolicies(ctx, \u0026outscale.GetPoliciesArgs{\n\t\t\tFilters: []outscale.GetPoliciesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"only_linked\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"path_prefix\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"/\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"scope\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"LOCAL\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetPoliciesArgs;\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 userPolicies = OutscaleFunctions.getPolicies(GetPoliciesArgs.builder()\n            .filters(            \n                GetPoliciesFilterArgs.builder()\n                    .name(\"only_linked\")\n                    .values(\"true\")\n                    .build(),\n                GetPoliciesFilterArgs.builder()\n                    .name(\"path_prefix\")\n                    .values(\"/\")\n                    .build(),\n                GetPoliciesFilterArgs.builder()\n                    .name(\"scope\")\n                    .values(\"LOCAL\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  userPolicies:\n    fn::invoke:\n      function: outscale:getPolicies\n      arguments:\n        filters:\n          - name: only_linked\n            values:\n              - true\n          - name: path_prefix\n            values:\n              - /\n          - name: scope\n            values:\n              - LOCAL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicies.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetPoliciesFilter:getPoliciesFilter"}},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPolicies.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetPoliciesFilter:getPoliciesFilter"},"type":"array"},"id":{"type":"string"},"policies":{"description":"Information about one or more policies.\n","items":{"$ref":"#/types/outscale:index%2FgetPoliciesPolicy:getPoliciesPolicy"},"type":"array"}},"required":["id","policies"],"type":"object"}},"outscale:index/getPoliciesLinkedToUser:getPoliciesLinkedToUser":{"description":"Provides information about a link policy to user.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Policies.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#readlinkedpolicies).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst linkedPolicy01 = outscale.getPoliciesLinkedToUser({\n    userName: \"user_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nlinked_policy01 = outscale.get_policies_linked_to_user(user_name=\"user_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var linkedPolicy01 = Outscale.GetPoliciesLinkedToUser.Invoke(new()\n    {\n        UserName = \"user_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetPoliciesLinkedToUser(ctx, \u0026outscale.GetPoliciesLinkedToUserArgs{\n\t\t\tUserName: \"user_name\",\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetPoliciesLinkedToUserArgs;\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 linkedPolicy01 = OutscaleFunctions.getPoliciesLinkedToUser(GetPoliciesLinkedToUserArgs.builder()\n            .userName(\"user_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  linkedPolicy01:\n    fn::invoke:\n      function: outscale:getPoliciesLinkedToUser\n      arguments:\n        userName: user_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPoliciesLinkedToUser.\n","properties":{"id":{"type":"string"},"userName":{"type":"string","description":"The name of the user the policies are linked to.\n"}},"type":"object","required":["userName"]},"outputs":{"description":"A collection of values returned by getPoliciesLinkedToUser.\n","properties":{"id":{"type":"string"},"policies":{"items":{"$ref":"#/types/outscale:index%2FgetPoliciesLinkedToUserPolicy:getPoliciesLinkedToUserPolicy"},"type":"array"},"userName":{"type":"string"}},"required":["id","policies","userName"],"type":"object"}},"outscale:index/getPoliciesLinkedToUserGroup:getPoliciesLinkedToUserGroup":{"description":"Provides information about a link policy to user group.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Policies.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#readmanagedpolicieslinkedtousergroup).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst managedPoliciesLinkedToUserGroup = outscale.getPoliciesLinkedToUserGroup({\n    userGroupName: \"user_group_name\",\n    filters: [\n        {\n            name: \"user_group_ids\",\n            values: [\n                \"XXXXXXX\",\n                \"YYYYYY\",\n            ],\n        },\n        {\n            name: \"path_prefix\",\n            values: [\"/test/\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nmanaged_policies_linked_to_user_group = outscale.get_policies_linked_to_user_group(user_group_name=\"user_group_name\",\n    filters=[\n        {\n            \"name\": \"user_group_ids\",\n            \"values\": [\n                \"XXXXXXX\",\n                \"YYYYYY\",\n            ],\n        },\n        {\n            \"name\": \"path_prefix\",\n            \"values\": [\"/test/\"],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var managedPoliciesLinkedToUserGroup = Outscale.GetPoliciesLinkedToUserGroup.Invoke(new()\n    {\n        UserGroupName = \"user_group_name\",\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetPoliciesLinkedToUserGroupFilterInputArgs\n            {\n                Name = \"user_group_ids\",\n                Values = new[]\n                {\n                    \"XXXXXXX\",\n                    \"YYYYYY\",\n                },\n            },\n            new Outscale.Inputs.GetPoliciesLinkedToUserGroupFilterInputArgs\n            {\n                Name = \"path_prefix\",\n                Values = new[]\n                {\n                    \"/test/\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetPoliciesLinkedToUserGroup(ctx, \u0026outscale.GetPoliciesLinkedToUserGroupArgs{\n\t\t\tUserGroupName: \"user_group_name\",\n\t\t\tFilters: []outscale.GetPoliciesLinkedToUserGroupFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"user_group_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"XXXXXXX\",\n\t\t\t\t\t\t\"YYYYYY\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"path_prefix\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"/test/\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetPoliciesLinkedToUserGroupArgs;\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 managedPoliciesLinkedToUserGroup = OutscaleFunctions.getPoliciesLinkedToUserGroup(GetPoliciesLinkedToUserGroupArgs.builder()\n            .userGroupName(\"user_group_name\")\n            .filters(            \n                GetPoliciesLinkedToUserGroupFilterArgs.builder()\n                    .name(\"user_group_ids\")\n                    .values(                    \n                        \"XXXXXXX\",\n                        \"YYYYYY\")\n                    .build(),\n                GetPoliciesLinkedToUserGroupFilterArgs.builder()\n                    .name(\"path_prefix\")\n                    .values(\"/test/\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  managedPoliciesLinkedToUserGroup:\n    fn::invoke:\n      function: outscale:getPoliciesLinkedToUserGroup\n      arguments:\n        userGroupName: user_group_name\n        filters:\n          - name: user_group_ids\n            values:\n              - XXXXXXX\n              - YYYYYY\n          - name: path_prefix\n            values:\n              - /test/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPoliciesLinkedToUserGroup.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetPoliciesLinkedToUserGroupFilter:getPoliciesLinkedToUserGroupFilter"}},"id":{"type":"string"},"userGroupName":{"type":"string","description":"The name of the group.\n"}},"type":"object","required":["userGroupName"]},"outputs":{"description":"A collection of values returned by getPoliciesLinkedToUserGroup.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetPoliciesLinkedToUserGroupFilter:getPoliciesLinkedToUserGroupFilter"},"type":"array"},"id":{"type":"string"},"policies":{"items":{"$ref":"#/types/outscale:index%2FgetPoliciesLinkedToUserGroupPolicy:getPoliciesLinkedToUserGroupPolicy"},"type":"array"},"userGroupName":{"type":"string"}},"required":["id","policies","userGroupName"],"type":"object"}},"outscale:index/getPolicy:getPolicy":{"description":"Provides information about a policy.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Policies.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#3ds-outscale-api-policy).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst userPolicy01 = outscale.getPolicy({\n    policyOrn: \"orn:ows:idauth::012345678910:policy/example/example-user-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nuser_policy01 = outscale.get_policy(policy_orn=\"orn:ows:idauth::012345678910:policy/example/example-user-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var userPolicy01 = Outscale.GetPolicy.Invoke(new()\n    {\n        PolicyOrn = \"orn:ows:idauth::012345678910:policy/example/example-user-policy\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupPolicy(ctx, \u0026outscale.LookupPolicyArgs{\n\t\t\tPolicyOrn: \"orn:ows:idauth::012345678910:policy/example/example-user-policy\",\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetPolicyArgs;\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 userPolicy01 = OutscaleFunctions.getPolicy(GetPolicyArgs.builder()\n            .policyOrn(\"orn:ows:idauth::012345678910:policy/example/example-user-policy\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  userPolicy01:\n    fn::invoke:\n      function: outscale:getPolicy\n      arguments:\n        policyOrn: orn:ows:idauth::012345678910:policy/example/example-user-policy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicy.\n","properties":{"id":{"type":"string"},"policyOrn":{"type":"string","description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"}},"type":"object","required":["policyOrn"]},"outputs":{"description":"A collection of values returned by getPolicy.\n","properties":{"creationDate":{"description":"The date and time (UTC) at which the policy was created.\n","type":"string"},"description":{"description":"A friendly name for the policy (between 0 and 1000 characters).\n","type":"string"},"document":{"type":"string"},"id":{"type":"string"},"isLinkable":{"description":"Indicates whether the policy can be linked to a group or an EIM user.\n","type":"boolean"},"lastModificationDate":{"description":"The date and time (UTC) at which the policy was last modified.\n","type":"string"},"orn":{"description":"The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n","type":"string"},"path":{"description":"The path to the policy.\n","type":"string"},"policyDefaultVersionId":{"description":"The ID of the policy default version.\n","type":"string"},"policyId":{"description":"The ID of the policy.\n","type":"string"},"policyName":{"description":"The name of the policy.\n","type":"string"},"policyOrn":{"type":"string"},"resourcesCount":{"description":"The number of resources attached to the policy.\n","type":"number"}},"required":["creationDate","description","document","id","isLinkable","lastModificationDate","orn","path","policyDefaultVersionId","policyId","policyName","policyOrn","resourcesCount"],"type":"object"}},"outscale:index/getProductType:getProductType":{"description":"Provides information about a product type.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/Software-Licenses.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-producttype).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst productType01 = outscale.getProductType({\n    filters: [{\n        name: \"product_type_ids\",\n        values: [\"0001\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nproduct_type01 = outscale.get_product_type(filters=[{\n    \"name\": \"product_type_ids\",\n    \"values\": [\"0001\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var productType01 = Outscale.GetProductType.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetProductTypeFilterInputArgs\n            {\n                Name = \"product_type_ids\",\n                Values = new[]\n                {\n                    \"0001\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetProductType(ctx, \u0026outscale.GetProductTypeArgs{\n\t\t\tFilters: []outscale.GetProductTypeFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"product_type_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"0001\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetProductTypeArgs;\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 productType01 = OutscaleFunctions.getProductType(GetProductTypeArgs.builder()\n            .filters(GetProductTypeFilterArgs.builder()\n                .name(\"product_type_ids\")\n                .values(\"0001\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  productType01:\n    fn::invoke:\n      function: outscale:getProductType\n      arguments:\n        filters:\n          - name: product_type_ids\n            values:\n              - '0001'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProductType.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetProductTypeFilter:getProductTypeFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getProductType.\n","properties":{"description":{"description":"The description of the product type.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetProductTypeFilter:getProductTypeFilter"},"type":"array"},"id":{"type":"string"},"productTypeId":{"description":"The ID of the product type.\n","type":"string"},"requestId":{"type":"string"},"vendor":{"description":"The vendor of the product type.\n","type":"string"}},"required":["description","id","productTypeId","requestId","vendor"],"type":"object"}},"outscale:index/getProductTypes:getProductTypes":{"description":"Provides information about product types.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/Software-Licenses.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-producttype).\n\n## Example Usage\n\n### Read specific product types\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst productTypes01 = outscale.getProductTypes({\n    filters: [{\n        name: \"product_type_ids\",\n        values: [\n            \"0001\",\n            \"0002\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nproduct_types01 = outscale.get_product_types(filters=[{\n    \"name\": \"product_type_ids\",\n    \"values\": [\n        \"0001\",\n        \"0002\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var productTypes01 = Outscale.GetProductTypes.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetProductTypesFilterInputArgs\n            {\n                Name = \"product_type_ids\",\n                Values = new[]\n                {\n                    \"0001\",\n                    \"0002\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetProductTypes(ctx, \u0026outscale.GetProductTypesArgs{\n\t\t\tFilters: []outscale.GetProductTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"product_type_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"0001\",\n\t\t\t\t\t\t\"0002\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetProductTypesArgs;\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 productTypes01 = OutscaleFunctions.getProductTypes(GetProductTypesArgs.builder()\n            .filters(GetProductTypesFilterArgs.builder()\n                .name(\"product_type_ids\")\n                .values(                \n                    \"0001\",\n                    \"0002\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  productTypes01:\n    fn::invoke:\n      function: outscale:getProductTypes\n      arguments:\n        filters:\n          - name: product_type_ids\n            values:\n              - '0001'\n              - '0002'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Read all product types\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst allProductTypes = outscale.getProductTypes({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nall_product_types = outscale.get_product_types()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allProductTypes = Outscale.GetProductTypes.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetProductTypes(ctx, \u0026outscale.GetProductTypesArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetProductTypesArgs;\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 allProductTypes = OutscaleFunctions.getProductTypes(GetProductTypesArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  allProductTypes:\n    fn::invoke:\n      function: outscale:getProductTypes\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProductTypes.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetProductTypesFilter:getProductTypesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getProductTypes.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetProductTypesFilter:getProductTypesFilter"},"type":"array"},"id":{"type":"string"},"productTypes":{"description":"Information about one or more product types.\n","items":{"$ref":"#/types/outscale:index%2FgetProductTypesProductType:getProductTypesProductType"},"type":"array"},"requestId":{"type":"string"}},"required":["id","productTypes","requestId"],"type":"object"}},"outscale:index/getPublicCatalog:getPublicCatalog":{"inputs":{"description":"A collection of arguments for invoking getPublicCatalog.\n","properties":{"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPublicCatalog.\n","properties":{"catalogs":{"items":{"$ref":"#/types/outscale:index%2FgetPublicCatalogCatalog:getPublicCatalogCatalog"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"}},"required":["catalogs","id","requestId"],"type":"object"}},"outscale:index/getPublicIp:getPublicIp":{"description":"Provides information about a public IP.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Public-IPs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-publicip).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst publicIp01 = outscale.getPublicIp({\n    filters: [{\n        name: \"public_ips\",\n        values: [\"111.11.111.1\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\npublic_ip01 = outscale.get_public_ip(filters=[{\n    \"name\": \"public_ips\",\n    \"values\": [\"111.11.111.1\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var publicIp01 = Outscale.GetPublicIp.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetPublicIpFilterInputArgs\n            {\n                Name = \"public_ips\",\n                Values = new[]\n                {\n                    \"111.11.111.1\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupPublicIp(ctx, \u0026outscale.LookupPublicIpArgs{\n\t\t\tFilters: []outscale.GetPublicIpFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"public_ips\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"111.11.111.1\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetPublicIpArgs;\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 publicIp01 = OutscaleFunctions.getPublicIp(GetPublicIpArgs.builder()\n            .filters(GetPublicIpFilterArgs.builder()\n                .name(\"public_ips\")\n                .values(\"111.11.111.1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  publicIp01:\n    fn::invoke:\n      function: outscale:getPublicIp\n      arguments:\n        filters:\n          - name: public_ips\n            values:\n              - 111.11.111.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPublicIp.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetPublicIpFilter:getPublicIpFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"publicIp":{"type":"string","description":"The public IP.\n"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPublicIp.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetPublicIpFilter:getPublicIpFilter"},"type":"array"},"id":{"type":"string"},"linkPublicIpId":{"description":"(Required in a Net) The ID representing the association of the public IP with the VM or the NIC.\n","type":"string"},"nicAccountId":{"description":"The account ID of the owner of the NIC.\n","type":"string"},"nicId":{"description":"The ID of the NIC the public IP is associated with (if any).\n","type":"string"},"privateIp":{"description":"The private IP associated with the public IP.\n","type":"string"},"publicIp":{"description":"The public IP.\n","type":"string"},"publicIpId":{"description":"The allocation ID of the public IP.\n","type":"string"},"requestId":{"type":"string"},"tags":{"description":"One or more tags associated with the public IP.\n","items":{"$ref":"#/types/outscale:index%2FgetPublicIpTag:getPublicIpTag"},"type":"array"},"vmId":{"description":"The ID of the VM the public IP is associated with (if any).\n","type":"string"}},"required":["id","linkPublicIpId","nicAccountId","nicId","privateIp","publicIp","publicIpId","requestId","tags","vmId"],"type":"object"}},"outscale:index/getPublicIps:getPublicIps":{"description":"Provides information about public IPs.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Public-IPs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-publicip).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst publicIps01 = outscale.getPublicIps({\n    filters: [{\n        name: \"public_ips\",\n        values: [\n            \"111.11.111.1\",\n            \"222.22.222.2\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\npublic_ips01 = outscale.get_public_ips(filters=[{\n    \"name\": \"public_ips\",\n    \"values\": [\n        \"111.11.111.1\",\n        \"222.22.222.2\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var publicIps01 = Outscale.GetPublicIps.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetPublicIpsFilterInputArgs\n            {\n                Name = \"public_ips\",\n                Values = new[]\n                {\n                    \"111.11.111.1\",\n                    \"222.22.222.2\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetPublicIps(ctx, \u0026outscale.GetPublicIpsArgs{\n\t\t\tFilters: []outscale.GetPublicIpsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"public_ips\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"111.11.111.1\",\n\t\t\t\t\t\t\"222.22.222.2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetPublicIpsArgs;\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 publicIps01 = OutscaleFunctions.getPublicIps(GetPublicIpsArgs.builder()\n            .filters(GetPublicIpsFilterArgs.builder()\n                .name(\"public_ips\")\n                .values(                \n                    \"111.11.111.1\",\n                    \"222.22.222.2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  publicIps01:\n    fn::invoke:\n      function: outscale:getPublicIps\n      arguments:\n        filters:\n          - name: public_ips\n            values:\n              - 111.11.111.1\n              - 222.22.222.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPublicIps.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetPublicIpsFilter:getPublicIpsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPublicIps.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetPublicIpsFilter:getPublicIpsFilter"},"type":"array"},"id":{"type":"string"},"publicIps":{"description":"Information about one or more public IPs.\n","items":{"$ref":"#/types/outscale:index%2FgetPublicIpsPublicIp:getPublicIpsPublicIp"},"type":"array"},"requestId":{"type":"string"}},"required":["id","publicIps","requestId"],"type":"object"}},"outscale:index/getQuota:getQuota":{"description":"Provides information about a quota.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Your-Account.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readquotas).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancerListenersQuota01 = outscale.getQuota({\n    filters: [\n        {\n            name: \"collections\",\n            values: [\"LBU\"],\n        },\n        {\n            name: \"quota_names\",\n            values: [\"lb_listeners_limit\"],\n        },\n        {\n            name: \"quota_types\",\n            values: [\"global\"],\n        },\n        {\n            name: \"short_descriptions\",\n            values: [\"Load Balancer Listeners Limit\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nload_balancer_listeners_quota01 = outscale.get_quota(filters=[\n    {\n        \"name\": \"collections\",\n        \"values\": [\"LBU\"],\n    },\n    {\n        \"name\": \"quota_names\",\n        \"values\": [\"lb_listeners_limit\"],\n    },\n    {\n        \"name\": \"quota_types\",\n        \"values\": [\"global\"],\n    },\n    {\n        \"name\": \"short_descriptions\",\n        \"values\": [\"Load Balancer Listeners Limit\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loadBalancerListenersQuota01 = Outscale.GetQuota.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetQuotaFilterInputArgs\n            {\n                Name = \"collections\",\n                Values = new[]\n                {\n                    \"LBU\",\n                },\n            },\n            new Outscale.Inputs.GetQuotaFilterInputArgs\n            {\n                Name = \"quota_names\",\n                Values = new[]\n                {\n                    \"lb_listeners_limit\",\n                },\n            },\n            new Outscale.Inputs.GetQuotaFilterInputArgs\n            {\n                Name = \"quota_types\",\n                Values = new[]\n                {\n                    \"global\",\n                },\n            },\n            new Outscale.Inputs.GetQuotaFilterInputArgs\n            {\n                Name = \"short_descriptions\",\n                Values = new[]\n                {\n                    \"Load Balancer Listeners Limit\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetQuota(ctx, \u0026outscale.GetQuotaArgs{\n\t\t\tFilters: []outscale.GetQuotaFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"collections\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"LBU\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"quota_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"lb_listeners_limit\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"quota_types\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"global\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"short_descriptions\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Load Balancer Listeners Limit\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetQuotaArgs;\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 loadBalancerListenersQuota01 = OutscaleFunctions.getQuota(GetQuotaArgs.builder()\n            .filters(            \n                GetQuotaFilterArgs.builder()\n                    .name(\"collections\")\n                    .values(\"LBU\")\n                    .build(),\n                GetQuotaFilterArgs.builder()\n                    .name(\"quota_names\")\n                    .values(\"lb_listeners_limit\")\n                    .build(),\n                GetQuotaFilterArgs.builder()\n                    .name(\"quota_types\")\n                    .values(\"global\")\n                    .build(),\n                GetQuotaFilterArgs.builder()\n                    .name(\"short_descriptions\")\n                    .values(\"Load Balancer Listeners Limit\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  loadBalancerListenersQuota01:\n    fn::invoke:\n      function: outscale:getQuota\n      arguments:\n        filters:\n          - name: collections\n            values:\n              - LBU\n          - name: quota_names\n            values:\n              - lb_listeners_limit\n          - name: quota_types\n            values:\n              - global\n          - name: short_descriptions\n            values:\n              - Load Balancer Listeners Limit\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getQuota.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetQuotaFilter:getQuotaFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getQuota.\n","properties":{"accountId":{"description":"The account ID of the owner of the quotas.\n","type":"string"},"description":{"description":"The description of the quota.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetQuotaFilter:getQuotaFilter"},"type":"array"},"id":{"type":"string"},"maxValue":{"description":"The maximum value of the quota for the OUTSCALE user account (if there is no limit, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e).\n","type":"number"},"name":{"description":"The unique name of the quota.\n","type":"string"},"quotaCollection":{"description":"The group name of the quota.\n","type":"string"},"quotaType":{"description":"The resource ID if it is a resource-specific quota, \u003cspan pulumi-lang-nodejs=\"`global`\" pulumi-lang-dotnet=\"`Global`\" pulumi-lang-go=\"`global`\" pulumi-lang-python=\"`global`\" pulumi-lang-yaml=\"`global`\" pulumi-lang-java=\"`global`\"\u003e`global`\u003c/span\u003e if it is not.\n","type":"string"},"requestId":{"type":"string"},"shortDescription":{"description":"The description of the quota.\n","type":"string"},"usedValue":{"description":"The limit value currently used by the OUTSCALE user account.\n","type":"number"}},"required":["accountId","description","id","maxValue","name","quotaCollection","quotaType","requestId","shortDescription","usedValue"],"type":"object"}},"outscale:index/getQuotas:getQuotas":{"description":"Provides information about quotas.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Your-Account.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readquotas).\n\n## Example Usage\n\n### Read specific quotas\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vpcQuotas01 = outscale.getQuotas({\n    filters: [{\n        name: \"collections\",\n        values: [\"VPC\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvpc_quotas01 = outscale.get_quotas(filters=[{\n    \"name\": \"collections\",\n    \"values\": [\"VPC\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcQuotas01 = Outscale.GetQuotas.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetQuotasFilterInputArgs\n            {\n                Name = \"collections\",\n                Values = new[]\n                {\n                    \"VPC\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetQuotas(ctx, \u0026outscale.GetQuotasArgs{\n\t\t\tFilters: []outscale.GetQuotasFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"collections\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"VPC\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetQuotasArgs;\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 vpcQuotas01 = OutscaleFunctions.getQuotas(GetQuotasArgs.builder()\n            .filters(GetQuotasFilterArgs.builder()\n                .name(\"collections\")\n                .values(\"VPC\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vpcQuotas01:\n    fn::invoke:\n      function: outscale:getQuotas\n      arguments:\n        filters:\n          - name: collections\n            values:\n              - VPC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Read all quotas\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst allQuotas = outscale.getQuotas({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nall_quotas = outscale.get_quotas()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allQuotas = Outscale.GetQuotas.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetQuotas(ctx, \u0026outscale.GetQuotasArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetQuotasArgs;\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 allQuotas = OutscaleFunctions.getQuotas(GetQuotasArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  allQuotas:\n    fn::invoke:\n      function: outscale:getQuotas\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getQuotas.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetQuotasFilter:getQuotasFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getQuotas.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetQuotasFilter:getQuotasFilter"},"type":"array"},"id":{"type":"string"},"quotas":{"description":"One or more quotas associated with the account.\n","items":{"$ref":"#/types/outscale:index%2FgetQuotasQuota:getQuotasQuota"},"type":"array"},"requestId":{"type":"string"}},"required":["id","quotas","requestId"],"type":"object"}},"outscale:index/getRegions:getRegions":{"description":"Provides information about Regions.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Regions-and-Subregions.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readregions).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst allRegions = outscale.getRegions({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nall_regions = outscale.get_regions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allRegions = Outscale.GetRegions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetRegions(ctx, \u0026outscale.GetRegionsArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetRegionsArgs;\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 allRegions = OutscaleFunctions.getRegions(GetRegionsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  allRegions:\n    fn::invoke:\n      function: outscale:getRegions\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRegions.\n","properties":{"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRegions.\n","properties":{"id":{"type":"string"},"regions":{"description":"Information about one or more Regions.\n","items":{"$ref":"#/types/outscale:index%2FgetRegionsRegion:getRegionsRegion"},"type":"array"},"requestId":{"type":"string"}},"required":["id","regions","requestId"],"type":"object"}},"outscale:index/getRouteTable:getRouteTable":{"description":"Provides information about a route table.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Route-Tables.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-routetable).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst routeTable01 = outscale.getRouteTable({\n    filters: [{\n        name: \"route_table_ids\",\n        values: [\"rtb-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nroute_table01 = outscale.get_route_table(filters=[{\n    \"name\": \"route_table_ids\",\n    \"values\": [\"rtb-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var routeTable01 = Outscale.GetRouteTable.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetRouteTableFilterInputArgs\n            {\n                Name = \"route_table_ids\",\n                Values = new[]\n                {\n                    \"rtb-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupRouteTable(ctx, \u0026outscale.LookupRouteTableArgs{\n\t\t\tFilters: []outscale.GetRouteTableFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"route_table_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"rtb-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetRouteTableArgs;\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 routeTable01 = OutscaleFunctions.getRouteTable(GetRouteTableArgs.builder()\n            .filters(GetRouteTableFilterArgs.builder()\n                .name(\"route_table_ids\")\n                .values(\"rtb-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  routeTable01:\n    fn::invoke:\n      function: outscale:getRouteTable\n      arguments:\n        filters:\n          - name: route_table_ids\n            values:\n              - rtb-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRouteTable.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetRouteTableFilter:getRouteTableFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"routeTableId":{"type":"string","description":"The ID of the route table.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRouteTable.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetRouteTableFilter:getRouteTableFilter"},"type":"array"},"id":{"type":"string"},"linkRouteTables":{"description":"One or more associations between the route table and Subnets.\n","items":{"$ref":"#/types/outscale:index%2FgetRouteTableLinkRouteTable:getRouteTableLinkRouteTable"},"type":"array"},"netId":{"description":"The ID of the Net for the route table.\n","type":"string"},"requestId":{"type":"string"},"routePropagatingVirtualGateways":{"description":"Information about virtual gateways propagating routes.\n","items":{"$ref":"#/types/outscale:index%2FgetRouteTableRoutePropagatingVirtualGateway:getRouteTableRoutePropagatingVirtualGateway"},"type":"array"},"routeTableId":{"description":"The ID of the route table.\n","type":"string"},"routes":{"description":"One or more routes in the route table.\n","items":{"$ref":"#/types/outscale:index%2FgetRouteTableRoute:getRouteTableRoute"},"type":"array"},"tags":{"description":"One or more tags associated with the route table.\n","items":{"$ref":"#/types/outscale:index%2FgetRouteTableTag:getRouteTableTag"},"type":"array"}},"required":["id","linkRouteTables","netId","requestId","routePropagatingVirtualGateways","routeTableId","routes","tags"],"type":"object"}},"outscale:index/getRouteTables:getRouteTables":{"description":"Provides information about route tables.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Route-Tables.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-routetable).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst routeTables01 = outscale.getRouteTables({\n    filters: [\n        {\n            name: \"net_ids\",\n            values: [\n                \"vpc-12345678\",\n                \"vpc-87654321\",\n            ],\n        },\n        {\n            name: \"link_route_table_main\",\n            values: [\"true\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nroute_tables01 = outscale.get_route_tables(filters=[\n    {\n        \"name\": \"net_ids\",\n        \"values\": [\n            \"vpc-12345678\",\n            \"vpc-87654321\",\n        ],\n    },\n    {\n        \"name\": \"link_route_table_main\",\n        \"values\": [\"true\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var routeTables01 = Outscale.GetRouteTables.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetRouteTablesFilterInputArgs\n            {\n                Name = \"net_ids\",\n                Values = new[]\n                {\n                    \"vpc-12345678\",\n                    \"vpc-87654321\",\n                },\n            },\n            new Outscale.Inputs.GetRouteTablesFilterInputArgs\n            {\n                Name = \"link_route_table_main\",\n                Values = new[]\n                {\n                    \"true\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetRouteTables(ctx, \u0026outscale.GetRouteTablesArgs{\n\t\t\tFilters: []outscale.GetRouteTablesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t\t\"vpc-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"link_route_table_main\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetRouteTablesArgs;\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 routeTables01 = OutscaleFunctions.getRouteTables(GetRouteTablesArgs.builder()\n            .filters(            \n                GetRouteTablesFilterArgs.builder()\n                    .name(\"net_ids\")\n                    .values(                    \n                        \"vpc-12345678\",\n                        \"vpc-87654321\")\n                    .build(),\n                GetRouteTablesFilterArgs.builder()\n                    .name(\"link_route_table_main\")\n                    .values(\"true\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  routeTables01:\n    fn::invoke:\n      function: outscale:getRouteTables\n      arguments:\n        filters:\n          - name: net_ids\n            values:\n              - vpc-12345678\n              - vpc-87654321\n          - name: link_route_table_main\n            values:\n              - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRouteTables.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetRouteTablesFilter:getRouteTablesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"routeTableIds":{"type":"array","items":{"type":"string"},"description":"The ID of the route table.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRouteTables.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetRouteTablesFilter:getRouteTablesFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"routeTableIds":{"description":"The ID of the route table.\n","items":{"type":"string"},"type":"array"},"routeTables":{"description":"Information about one or more route tables.\n","items":{"$ref":"#/types/outscale:index%2FgetRouteTablesRouteTable:getRouteTablesRouteTable"},"type":"array"}},"required":["id","requestId","routeTables"],"type":"object"}},"outscale:index/getSecurityGroup:getSecurityGroup":{"description":"Provides information about a security group.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Security-Groups.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-securitygroup).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroup01 = outscale.getSecurityGroup({\n    filters: [{\n        name: \"security_group_ids\",\n        values: [\"sg-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsecurity_group01 = outscale.get_security_group(filters=[{\n    \"name\": \"security_group_ids\",\n    \"values\": [\"sg-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityGroup01 = Outscale.GetSecurityGroup.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSecurityGroupFilterInputArgs\n            {\n                Name = \"security_group_ids\",\n                Values = new[]\n                {\n                    \"sg-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupSecurityGroup(ctx, \u0026outscale.LookupSecurityGroupArgs{\n\t\t\tFilters: []outscale.GetSecurityGroupFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"security_group_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"sg-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSecurityGroupArgs;\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 securityGroup01 = OutscaleFunctions.getSecurityGroup(GetSecurityGroupArgs.builder()\n            .filters(GetSecurityGroupFilterArgs.builder()\n                .name(\"security_group_ids\")\n                .values(\"sg-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  securityGroup01:\n    fn::invoke:\n      function: outscale:getSecurityGroup\n      arguments:\n        filters:\n          - name: security_group_ids\n            values:\n              - sg-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecurityGroup.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupFilter:getSecurityGroupFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"securityGroupId":{"type":"string","description":"The ID of the security group.\n"},"securityGroupName":{"type":"string","description":"The name of the security group.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSecurityGroup.\n","properties":{"accountId":{"description":"The account ID that owns the source or destination security group.\n","type":"string"},"description":{"description":"The description of the security group.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupFilter:getSecurityGroupFilter"},"type":"array"},"id":{"type":"string"},"inboundRules":{"description":"The inbound rules associated with the security group.\n","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupInboundRule:getSecurityGroupInboundRule"},"type":"array"},"netId":{"description":"The ID of the Net for the security group.\n","type":"string"},"outboundRules":{"description":"The outbound rules associated with the security group.\n","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupOutboundRule:getSecurityGroupOutboundRule"},"type":"array"},"requestId":{"type":"string"},"securityGroupId":{"description":"The ID of the security group.\n","type":"string"},"securityGroupName":{"description":"The name of the security group.\n","type":"string"},"tags":{"description":"One or more tags associated with the security group.\n","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupTag:getSecurityGroupTag"},"type":"array"}},"required":["accountId","description","id","inboundRules","netId","outboundRules","requestId","securityGroupId","securityGroupName","tags"],"type":"object"}},"outscale:index/getSecurityGroups:getSecurityGroups":{"description":"Provides information about security groups.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Security-Groups.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-securitygroup).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroups01 = outscale.getSecurityGroups({\n    filters: [\n        {\n            name: \"net_ids\",\n            values: [\n                \"sg-12345678\",\n                \"sg-87654321\",\n            ],\n        },\n        {\n            name: \"inbound_rule_ip_ranges\",\n            values: [\"111.11.111.1/32\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsecurity_groups01 = outscale.get_security_groups(filters=[\n    {\n        \"name\": \"net_ids\",\n        \"values\": [\n            \"sg-12345678\",\n            \"sg-87654321\",\n        ],\n    },\n    {\n        \"name\": \"inbound_rule_ip_ranges\",\n        \"values\": [\"111.11.111.1/32\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var securityGroups01 = Outscale.GetSecurityGroups.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSecurityGroupsFilterInputArgs\n            {\n                Name = \"net_ids\",\n                Values = new[]\n                {\n                    \"sg-12345678\",\n                    \"sg-87654321\",\n                },\n            },\n            new Outscale.Inputs.GetSecurityGroupsFilterInputArgs\n            {\n                Name = \"inbound_rule_ip_ranges\",\n                Values = new[]\n                {\n                    \"111.11.111.1/32\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetSecurityGroups(ctx, \u0026outscale.GetSecurityGroupsArgs{\n\t\t\tFilters: []outscale.GetSecurityGroupsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"sg-12345678\",\n\t\t\t\t\t\t\"sg-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"inbound_rule_ip_ranges\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"111.11.111.1/32\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSecurityGroupsArgs;\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 securityGroups01 = OutscaleFunctions.getSecurityGroups(GetSecurityGroupsArgs.builder()\n            .filters(            \n                GetSecurityGroupsFilterArgs.builder()\n                    .name(\"net_ids\")\n                    .values(                    \n                        \"sg-12345678\",\n                        \"sg-87654321\")\n                    .build(),\n                GetSecurityGroupsFilterArgs.builder()\n                    .name(\"inbound_rule_ip_ranges\")\n                    .values(\"111.11.111.1/32\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  securityGroups01:\n    fn::invoke:\n      function: outscale:getSecurityGroups\n      arguments:\n        filters:\n          - name: net_ids\n            values:\n              - sg-12345678\n              - sg-87654321\n          - name: inbound_rule_ip_ranges\n            values:\n              - 111.11.111.1/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecurityGroups.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupsFilter:getSecurityGroupsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"securityGroupIds":{"type":"array","items":{"type":"string"}},"securityGroupNames":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getSecurityGroups.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupsFilter:getSecurityGroupsFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"securityGroupIds":{"items":{"type":"string"},"type":"array"},"securityGroupNames":{"items":{"type":"string"},"type":"array"},"securityGroups":{"description":"Information about one or more security groups.\n","items":{"$ref":"#/types/outscale:index%2FgetSecurityGroupsSecurityGroup:getSecurityGroupsSecurityGroup"},"type":"array"}},"required":["id","requestId","securityGroups"],"type":"object"}},"outscale:index/getServerCertificate:getServerCertificate":{"description":"Provides information about a server certificate.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Server-Certificates-in-EIM.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-servercertificate).\n\n","inputs":{"description":"A collection of arguments for invoking getServerCertificate.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetServerCertificateFilter:getServerCertificateFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string","description":"The ID of the server certificate.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServerCertificate.\n","properties":{"expirationDate":{"description":"The date on which the server certificate expires.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetServerCertificateFilter:getServerCertificateFilter"},"type":"array"},"id":{"description":"The ID of the server certificate.\n","type":"string"},"name":{"description":"The name of the server certificate.\n","type":"string"},"orn":{"description":"The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see [Resource Identifiers \u003e OUTSCALE Resource Names (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_names_orns).\n","type":"string"},"path":{"description":"The path to the server certificate.\n","type":"string"},"requestId":{"type":"string"},"uploadDate":{"description":"The date on which the server certificate has been uploaded.\n","type":"string"}},"required":["expirationDate","id","name","orn","path","requestId","uploadDate"],"type":"object"}},"outscale:index/getServerCertificates:getServerCertificates":{"description":"Provides information about server certificates.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Server-Certificates-in-EIM.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-servercertificate).\n\n## Example Usage\n\n### Read specific server certificates\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst serverCertificates01 = outscale.getServerCertificates({\n    filters: [{\n        name: \"paths\",\n        values: [\n            \"\u003cPATH01\u003e\",\n            \"\u003cPATH02\u003e\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nserver_certificates01 = outscale.get_server_certificates(filters=[{\n    \"name\": \"paths\",\n    \"values\": [\n        \"\u003cPATH01\u003e\",\n        \"\u003cPATH02\u003e\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serverCertificates01 = Outscale.GetServerCertificates.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetServerCertificatesFilterInputArgs\n            {\n                Name = \"paths\",\n                Values = new[]\n                {\n                    \"\u003cPATH01\u003e\",\n                    \"\u003cPATH02\u003e\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetServerCertificates(ctx, \u0026outscale.GetServerCertificatesArgs{\n\t\t\tFilters: []outscale.GetServerCertificatesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"paths\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"\u003cPATH01\u003e\",\n\t\t\t\t\t\t\"\u003cPATH02\u003e\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetServerCertificatesArgs;\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 serverCertificates01 = OutscaleFunctions.getServerCertificates(GetServerCertificatesArgs.builder()\n            .filters(GetServerCertificatesFilterArgs.builder()\n                .name(\"paths\")\n                .values(                \n                    \"\u003cPATH01\u003e\",\n                    \"\u003cPATH02\u003e\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  serverCertificates01:\n    fn::invoke:\n      function: outscale:getServerCertificates\n      arguments:\n        filters:\n          - name: paths\n            values:\n              - \u003cPATH01\u003e\n              - \u003cPATH02\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Read all server certificates\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst allServerCertificates = outscale.getServerCertificates({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nall_server_certificates = outscale.get_server_certificates()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allServerCertificates = Outscale.GetServerCertificates.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetServerCertificates(ctx, \u0026outscale.GetServerCertificatesArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetServerCertificatesArgs;\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 allServerCertificates = OutscaleFunctions.getServerCertificates(GetServerCertificatesArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  allServerCertificates:\n    fn::invoke:\n      function: outscale:getServerCertificates\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServerCertificates.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetServerCertificatesFilter:getServerCertificatesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string","description":"The ID of the server certificate.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServerCertificates.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetServerCertificatesFilter:getServerCertificatesFilter"},"type":"array"},"id":{"description":"The ID of the server certificate.\n","type":"string"},"requestId":{"type":"string"},"serverCertificates":{"description":"Information about one or more server certificates.\n","items":{"$ref":"#/types/outscale:index%2FgetServerCertificatesServerCertificate:getServerCertificatesServerCertificate"},"type":"array"}},"required":["id","requestId","serverCertificates"],"type":"object"}},"outscale:index/getSnapshot:getSnapshot":{"description":"Provides information about a snapshot.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Snapshots.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-snapshot).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshot01 = outscale.getSnapshot({\n    filters: [{\n        name: \"snapshot_ids\",\n        values: [\"snap-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot01 = outscale.get_snapshot(filters=[{\n    \"name\": \"snapshot_ids\",\n    \"values\": [\"snap-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshot01 = Outscale.GetSnapshot.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSnapshotFilterInputArgs\n            {\n                Name = \"snapshot_ids\",\n                Values = new[]\n                {\n                    \"snap-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupSnapshot(ctx, \u0026outscale.LookupSnapshotArgs{\n\t\t\tFilters: []outscale.GetSnapshotFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"snapshot_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"snap-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSnapshotArgs;\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 snapshot01 = OutscaleFunctions.getSnapshot(GetSnapshotArgs.builder()\n            .filters(GetSnapshotFilterArgs.builder()\n                .name(\"snapshot_ids\")\n                .values(\"snap-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  snapshot01:\n    fn::invoke:\n      function: outscale:getSnapshot\n      arguments:\n        filters:\n          - name: snapshot_ids\n            values:\n              - snap-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSnapshot.\n","properties":{"accountId":{"type":"string","description":"The account ID of the owner of the snapshot.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSnapshotFilter:getSnapshotFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"snapshotId":{"type":"string","description":"The ID of the snapshot.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSnapshot.\n","properties":{"accountAlias":{"description":"The account alias of the owner of the snapshot.\n","type":"string"},"accountId":{"description":"The account ID of the owner of the snapshot.\n","type":"string"},"creationDate":{"description":"The date and time (UTC) at which the snapshot was created.\n","type":"string"},"description":{"description":"The description of the snapshot.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetSnapshotFilter:getSnapshotFilter"},"type":"array"},"id":{"type":"string"},"permissionsToCreateVolumes":{"description":"Permissions for the resource.\n","items":{"$ref":"#/types/outscale:index%2FgetSnapshotPermissionsToCreateVolume:getSnapshotPermissionsToCreateVolume"},"type":"array"},"progress":{"description":"The progress of the snapshot, as a percentage.\n","type":"number"},"requestId":{"type":"string"},"snapshotId":{"description":"The ID of the snapshot.\n","type":"string"},"state":{"description":"The state of the snapshot (`in-queue` \\| \u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e).\n","type":"string"},"tags":{"description":"One or more tags associated with the snapshot.\n","items":{"$ref":"#/types/outscale:index%2FgetSnapshotTag:getSnapshotTag"},"type":"array"},"volumeId":{"description":"The ID of the volume used to create the snapshot.\n","type":"string"},"volumeSize":{"description":"The size of the volume used to create the snapshot, in gibibytes (GiB).\n","type":"number"}},"required":["accountAlias","accountId","creationDate","description","id","permissionsToCreateVolumes","progress","requestId","snapshotId","state","tags","volumeId","volumeSize"],"type":"object"}},"outscale:index/getSnapshotExportTask:getSnapshotExportTask":{"description":"Provides information about a snapshot export task.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Snapshots.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-snapshot).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshotExportTask01 = outscale.getSnapshotExportTask({\n    filters: [{\n        name: \"task_ids\",\n        values: [\"snap-export-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot_export_task01 = outscale.get_snapshot_export_task(filters=[{\n    \"name\": \"task_ids\",\n    \"values\": [\"snap-export-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshotExportTask01 = Outscale.GetSnapshotExportTask.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSnapshotExportTaskFilterInputArgs\n            {\n                Name = \"task_ids\",\n                Values = new[]\n                {\n                    \"snap-export-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupSnapshotExportTask(ctx, \u0026outscale.LookupSnapshotExportTaskArgs{\n\t\t\tFilters: []outscale.GetSnapshotExportTaskFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"task_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"snap-export-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSnapshotExportTaskArgs;\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 snapshotExportTask01 = OutscaleFunctions.getSnapshotExportTask(GetSnapshotExportTaskArgs.builder()\n            .filters(GetSnapshotExportTaskFilterArgs.builder()\n                .name(\"task_ids\")\n                .values(\"snap-export-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  snapshotExportTask01:\n    fn::invoke:\n      function: outscale:getSnapshotExportTask\n      arguments:\n        filters:\n          - name: task_ids\n            values:\n              - snap-export-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSnapshotExportTask.\n","properties":{"dryRun":{"type":"boolean"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTaskFilter:getSnapshotExportTaskFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTaskTimeouts:getSnapshotExportTaskTimeouts"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSnapshotExportTask.\n","properties":{"comment":{"description":"If the snapshot export task fails, an error message appears.\n","type":"string"},"dryRun":{"type":"boolean"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTaskFilter:getSnapshotExportTaskFilter"},"type":"array"},"id":{"type":"string"},"osuExports":{"description":"Information about the snapshot export task.\n","items":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTaskOsuExport:getSnapshotExportTaskOsuExport"},"type":"array"},"progress":{"description":"The progress of the snapshot export task, as a percentage.\n","type":"number"},"requestId":{"type":"string"},"snapshotId":{"description":"The ID of the snapshot to be exported.\n","type":"string"},"state":{"description":"The state of the snapshot export task (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`completed`\" pulumi-lang-dotnet=\"`Completed`\" pulumi-lang-go=\"`completed`\" pulumi-lang-python=\"`completed`\" pulumi-lang-yaml=\"`completed`\" pulumi-lang-java=\"`completed`\"\u003e`completed`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`cancelled`\" pulumi-lang-dotnet=\"`Cancelled`\" pulumi-lang-go=\"`cancelled`\" pulumi-lang-python=\"`cancelled`\" pulumi-lang-yaml=\"`cancelled`\" pulumi-lang-java=\"`cancelled`\"\u003e`cancelled`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e).\n","type":"string"},"tags":{"description":"One or more tags associated with the snapshot export task.\n","items":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTaskTag:getSnapshotExportTaskTag"},"type":"array"},"taskId":{"description":"The ID of the snapshot export task.\n","type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTaskTimeouts:getSnapshotExportTaskTimeouts"}},"required":["comment","dryRun","id","osuExports","progress","requestId","snapshotId","state","tags","taskId"],"type":"object"}},"outscale:index/getSnapshotExportTasks:getSnapshotExportTasks":{"description":"Provides information about snapshot export tasks.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Snapshots.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-snapshot).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshotExportTasks01 = outscale.getSnapshotExportTasks({\n    filters: [{\n        name: \"task_ids\",\n        values: [\n            \"snap-export-12345678\",\n            \"snap-export-87654321\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot_export_tasks01 = outscale.get_snapshot_export_tasks(filters=[{\n    \"name\": \"task_ids\",\n    \"values\": [\n        \"snap-export-12345678\",\n        \"snap-export-87654321\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshotExportTasks01 = Outscale.GetSnapshotExportTasks.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSnapshotExportTasksFilterInputArgs\n            {\n                Name = \"task_ids\",\n                Values = new[]\n                {\n                    \"snap-export-12345678\",\n                    \"snap-export-87654321\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetSnapshotExportTasks(ctx, \u0026outscale.GetSnapshotExportTasksArgs{\n\t\t\tFilters: []outscale.GetSnapshotExportTasksFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"task_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"snap-export-12345678\",\n\t\t\t\t\t\t\"snap-export-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSnapshotExportTasksArgs;\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 snapshotExportTasks01 = OutscaleFunctions.getSnapshotExportTasks(GetSnapshotExportTasksArgs.builder()\n            .filters(GetSnapshotExportTasksFilterArgs.builder()\n                .name(\"task_ids\")\n                .values(                \n                    \"snap-export-12345678\",\n                    \"snap-export-87654321\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  snapshotExportTasks01:\n    fn::invoke:\n      function: outscale:getSnapshotExportTasks\n      arguments:\n        filters:\n          - name: task_ids\n            values:\n              - snap-export-12345678\n              - snap-export-87654321\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSnapshotExportTasks.\n","properties":{"dryRun":{"type":"boolean"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTasksFilter:getSnapshotExportTasksFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"timeouts":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTasksTimeouts:getSnapshotExportTasksTimeouts"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSnapshotExportTasks.\n","properties":{"dryRun":{"type":"boolean"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTasksFilter:getSnapshotExportTasksFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"snapshotExportTasks":{"description":"Information about one or more snapshot export tasks.\n","items":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTasksSnapshotExportTask:getSnapshotExportTasksSnapshotExportTask"},"type":"array"},"timeouts":{"$ref":"#/types/outscale:index%2FgetSnapshotExportTasksTimeouts:getSnapshotExportTasksTimeouts"}},"required":["dryRun","id","requestId","snapshotExportTasks"],"type":"object"}},"outscale:index/getSnapshots:getSnapshots":{"description":"Provides information about snapshots.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Snapshots.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-snapshot).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshots01 = outscale.getSnapshots({\n    filters: [\n        {\n            name: \"tag_keys\",\n            values: [\"env\"],\n        },\n        {\n            name: \"tag_values\",\n            values: [\n                \"prod\",\n                \"test\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshots01 = outscale.get_snapshots(filters=[\n    {\n        \"name\": \"tag_keys\",\n        \"values\": [\"env\"],\n    },\n    {\n        \"name\": \"tag_values\",\n        \"values\": [\n            \"prod\",\n            \"test\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshots01 = Outscale.GetSnapshots.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSnapshotsFilterInputArgs\n            {\n                Name = \"tag_keys\",\n                Values = new[]\n                {\n                    \"env\",\n                },\n            },\n            new Outscale.Inputs.GetSnapshotsFilterInputArgs\n            {\n                Name = \"tag_values\",\n                Values = new[]\n                {\n                    \"prod\",\n                    \"test\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetSnapshots(ctx, \u0026outscale.GetSnapshotsArgs{\n\t\t\tFilters: []outscale.GetSnapshotsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag_keys\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"env\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag_values\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"prod\",\n\t\t\t\t\t\t\"test\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSnapshotsArgs;\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 snapshots01 = OutscaleFunctions.getSnapshots(GetSnapshotsArgs.builder()\n            .filters(            \n                GetSnapshotsFilterArgs.builder()\n                    .name(\"tag_keys\")\n                    .values(\"env\")\n                    .build(),\n                GetSnapshotsFilterArgs.builder()\n                    .name(\"tag_values\")\n                    .values(                    \n                        \"prod\",\n                        \"test\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  snapshots01:\n    fn::invoke:\n      function: outscale:getSnapshots\n      arguments:\n        filters:\n          - name: tag_keys\n            values:\n              - env\n          - name: tag_values\n            values:\n              - prod\n              - test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSnapshots.\n","properties":{"accountIds":{"type":"array","items":{"type":"string"},"description":"The account ID of the owner of the snapshot.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSnapshotsFilter:getSnapshotsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"permissionToCreateVolumes":{"type":"array","items":{"type":"string"}},"snapshotIds":{"type":"array","items":{"type":"string"},"description":"The ID of the snapshot.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSnapshots.\n","properties":{"accountIds":{"description":"The account ID of the owner of the snapshot.\n","items":{"type":"string"},"type":"array"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetSnapshotsFilter:getSnapshotsFilter"},"type":"array"},"id":{"type":"string"},"permissionToCreateVolumes":{"items":{"type":"string"},"type":"array"},"requestId":{"type":"string"},"snapshotIds":{"description":"The ID of the snapshot.\n","items":{"type":"string"},"type":"array"},"snapshots":{"description":"Information about one or more snapshots and their permissions.\n","items":{"$ref":"#/types/outscale:index%2FgetSnapshotsSnapshot:getSnapshotsSnapshot"},"type":"array"}},"required":["id","requestId","snapshots"],"type":"object"}},"outscale:index/getSubnet:getSubnet":{"description":"Provides information about a Subnet.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Nets.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-subnet).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst subnet01 = outscale.getSubnet({\n    filters: [{\n        name: \"net_ids\",\n        values: [\"vpc-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsubnet01 = outscale.get_subnet(filters=[{\n    \"name\": \"net_ids\",\n    \"values\": [\"vpc-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnet01 = Outscale.GetSubnet.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSubnetFilterInputArgs\n            {\n                Name = \"net_ids\",\n                Values = new[]\n                {\n                    \"vpc-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupSubnet(ctx, \u0026outscale.LookupSubnetArgs{\n\t\t\tFilters: []outscale.GetSubnetFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"net_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSubnetArgs;\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 subnet01 = OutscaleFunctions.getSubnet(GetSubnetArgs.builder()\n            .filters(GetSubnetFilterArgs.builder()\n                .name(\"net_ids\")\n                .values(\"vpc-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  subnet01:\n    fn::invoke:\n      function: outscale:getSubnet\n      arguments:\n        filters:\n          - name: net_ids\n            values:\n              - vpc-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSubnet.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSubnetFilter:getSubnetFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"subnetId":{"type":"string","description":"The ID of the Subnet.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSubnet.\n","properties":{"availableIpsCount":{"description":"The number of available IPs in the Subnets.\n","type":"number"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetSubnetFilter:getSubnetFilter"},"type":"array"},"id":{"type":"string"},"ipRange":{"description":"The IP range in the Subnet, in CIDR notation (for example, `10.0.0.0/16`).\n","type":"string"},"mapPublicIpOnLaunch":{"description":"If true, a public IP is assigned to the network interface cards (NICs) created in the specified Subnet.\n","type":"boolean"},"netId":{"description":"The ID of the Net in which the Subnet is.\n","type":"string"},"requestId":{"type":"string"},"state":{"description":"The state of the Subnet (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n","type":"string"},"subnetId":{"description":"The ID of the Subnet.\n","type":"string"},"subregionName":{"description":"The name of the Subregion in which the Subnet is located.\n","type":"string"},"tags":{"description":"One or more tags associated with the Subnet.\n","items":{"$ref":"#/types/outscale:index%2FgetSubnetTag:getSubnetTag"},"type":"array"}},"required":["availableIpsCount","id","ipRange","mapPublicIpOnLaunch","netId","requestId","state","subnetId","subregionName","tags"],"type":"object"}},"outscale:index/getSubnets:getSubnets":{"description":"Provides information about Subnets.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Nets.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-subnet).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst subnets01 = outscale.getSubnets({\n    filters: [\n        {\n            name: \"states\",\n            values: [\"available\"],\n        },\n        {\n            name: \"subregion_names\",\n            values: [\n                \"eu-west-2a\",\n                \"eu-west-2b\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsubnets01 = outscale.get_subnets(filters=[\n    {\n        \"name\": \"states\",\n        \"values\": [\"available\"],\n    },\n    {\n        \"name\": \"subregion_names\",\n        \"values\": [\n            \"eu-west-2a\",\n            \"eu-west-2b\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subnets01 = Outscale.GetSubnets.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSubnetsFilterInputArgs\n            {\n                Name = \"states\",\n                Values = new[]\n                {\n                    \"available\",\n                },\n            },\n            new Outscale.Inputs.GetSubnetsFilterInputArgs\n            {\n                Name = \"subregion_names\",\n                Values = new[]\n                {\n                    \"eu-west-2a\",\n                    \"eu-west-2b\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetSubnets(ctx, \u0026outscale.GetSubnetsArgs{\n\t\t\tFilters: []outscale.GetSubnetsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"available\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"subregion_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"eu-west-2a\",\n\t\t\t\t\t\t\"eu-west-2b\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSubnetsArgs;\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 subnets01 = OutscaleFunctions.getSubnets(GetSubnetsArgs.builder()\n            .filters(            \n                GetSubnetsFilterArgs.builder()\n                    .name(\"states\")\n                    .values(\"available\")\n                    .build(),\n                GetSubnetsFilterArgs.builder()\n                    .name(\"subregion_names\")\n                    .values(                    \n                        \"eu-west-2a\",\n                        \"eu-west-2b\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  subnets01:\n    fn::invoke:\n      function: outscale:getSubnets\n      arguments:\n        filters:\n          - name: states\n            values:\n              - available\n          - name: subregion_names\n            values:\n              - eu-west-2a\n              - eu-west-2b\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSubnets.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSubnetsFilter:getSubnetsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"subnetIds":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getSubnets.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetSubnetsFilter:getSubnetsFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"subnetIds":{"items":{"type":"string"},"type":"array"},"subnets":{"description":"Information about one or more Subnets.\n","items":{"$ref":"#/types/outscale:index%2FgetSubnetsSubnet:getSubnetsSubnet"},"type":"array"}},"required":["id","requestId","subnets"],"type":"object"}},"outscale:index/getSubregions:getSubregions":{"description":"Provides information about subregions.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Regions-and-Subregions.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readsubregions).\n\n## Example Usage\n\n### List a specific Subregion in the current Region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst subregions01 = outscale.getSubregions({\n    filters: [{\n        name: \"subregion_names\",\n        values: [\"eu-west-2a\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsubregions01 = outscale.get_subregions(filters=[{\n    \"name\": \"subregion_names\",\n    \"values\": [\"eu-west-2a\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subregions01 = Outscale.GetSubregions.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSubregionsFilterInputArgs\n            {\n                Name = \"subregion_names\",\n                Values = new[]\n                {\n                    \"eu-west-2a\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetSubregions(ctx, \u0026outscale.GetSubregionsArgs{\n\t\t\tFilters: []outscale.GetSubregionsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"subregion_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"eu-west-2a\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSubregionsArgs;\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 subregions01 = OutscaleFunctions.getSubregions(GetSubregionsArgs.builder()\n            .filters(GetSubregionsFilterArgs.builder()\n                .name(\"subregion_names\")\n                .values(\"eu-west-2a\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  subregions01:\n    fn::invoke:\n      function: outscale:getSubregions\n      arguments:\n        filters:\n          - name: subregion_names\n            values:\n              - eu-west-2a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### List two specific Subregions in the current Region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst subregions02 = outscale.getSubregions({\n    filters: [{\n        name: \"subregion_names\",\n        values: [\n            \"eu-west-2a\",\n            \"eu-west-2b\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsubregions02 = outscale.get_subregions(filters=[{\n    \"name\": \"subregion_names\",\n    \"values\": [\n        \"eu-west-2a\",\n        \"eu-west-2b\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subregions02 = Outscale.GetSubregions.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetSubregionsFilterInputArgs\n            {\n                Name = \"subregion_names\",\n                Values = new[]\n                {\n                    \"eu-west-2a\",\n                    \"eu-west-2b\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetSubregions(ctx, \u0026outscale.GetSubregionsArgs{\n\t\t\tFilters: []outscale.GetSubregionsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"subregion_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"eu-west-2a\",\n\t\t\t\t\t\t\"eu-west-2b\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSubregionsArgs;\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 subregions02 = OutscaleFunctions.getSubregions(GetSubregionsArgs.builder()\n            .filters(GetSubregionsFilterArgs.builder()\n                .name(\"subregion_names\")\n                .values(                \n                    \"eu-west-2a\",\n                    \"eu-west-2b\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  subregions02:\n    fn::invoke:\n      function: outscale:getSubregions\n      arguments:\n        filters:\n          - name: subregion_names\n            values:\n              - eu-west-2a\n              - eu-west-2b\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### List all accessible Subregions in the current Region\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst all_subregions = outscale.getSubregions({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nall_subregions = outscale.get_subregions()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all_subregions = Outscale.GetSubregions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetSubregions(ctx, \u0026outscale.GetSubregionsArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetSubregionsArgs;\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 all-subregions = OutscaleFunctions.getSubregions(GetSubregionsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  all-subregions:\n    fn::invoke:\n      function: outscale:getSubregions\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSubregions.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetSubregionsFilter:getSubregionsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSubregions.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetSubregionsFilter:getSubregionsFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"subregions":{"description":"Information about one or more Subregions.\n","items":{"$ref":"#/types/outscale:index%2FgetSubregionsSubregion:getSubregionsSubregion"},"type":"array"}},"required":["id","requestId","subregions"],"type":"object"}},"outscale:index/getTag:getTag":{"inputs":{"description":"A collection of arguments for invoking getTag.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetTagFilter:getTagFilter"}},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTag.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetTagFilter:getTagFilter"},"type":"array"},"id":{"type":"string"},"key":{"type":"string"},"resourceId":{"type":"string"},"resourceType":{"type":"string"},"value":{"type":"string"}},"required":["id","key","resourceId","resourceType","value"],"type":"object"}},"outscale:index/getTags:getTags":{"inputs":{"description":"A collection of arguments for invoking getTags.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetTagsFilter:getTagsFilter"}},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTags.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetTagsFilter:getTagsFilter"},"type":"array"},"id":{"type":"string"},"tags":{"items":{"$ref":"#/types/outscale:index%2FgetTagsTag:getTagsTag"},"type":"array"}},"required":["id","tags"],"type":"object"}},"outscale:index/getUser:getUser":{"description":"Provides information about a user.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-EIM-Users.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#createuser).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst user01 = outscale.getUser({\n    filters: [{\n        name: \"user_ids\",\n        values: [\"XXXXXXXXXXXXXXXX\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nuser01 = outscale.get_user(filters=[{\n    \"name\": \"user_ids\",\n    \"values\": [\"XXXXXXXXXXXXXXXX\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user01 = Outscale.GetUser.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetUserFilterInputArgs\n            {\n                Name = \"user_ids\",\n                Values = new[]\n                {\n                    \"XXXXXXXXXXXXXXXX\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupUser(ctx, \u0026outscale.LookupUserArgs{\n\t\t\tFilters: []outscale.GetUserFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"user_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"XXXXXXXXXXXXXXXX\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetUserArgs;\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 user01 = OutscaleFunctions.getUser(GetUserArgs.builder()\n            .filters(GetUserFilterArgs.builder()\n                .name(\"user_ids\")\n                .values(\"XXXXXXXXXXXXXXXX\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  user01:\n    fn::invoke:\n      function: outscale:getUser\n      arguments:\n        filters:\n          - name: user_ids\n            values:\n              - XXXXXXXXXXXXXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUser.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetUserFilter:getUserFilter"}},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUser.\n","properties":{"creationDate":{"description":"The date and time (UTC) of creation of the EIM user.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetUserFilter:getUserFilter"},"type":"array"},"id":{"type":"string"},"lastModificationDate":{"description":"The date and time (UTC) of the last modification of the EIM user.\n","type":"string"},"path":{"description":"The path to the EIM user.\n","type":"string"},"userEmail":{"description":"The email address of the EIM user.\n","type":"string"},"userId":{"description":"The ID of the EIM user.\n","type":"string"},"userName":{"description":"The name of the EIM user.\n","type":"string"}},"required":["creationDate","id","lastModificationDate","path","userEmail","userId","userName"],"type":"object"}},"outscale:index/getUserGroup:getUserGroup":{"description":"Provides information about a user group.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-EIM-Groups.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#createusergroup).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst userGroup01 = outscale.getUserGroup({\n    userGroupName: \"user_group_name\",\n    path: \"/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nuser_group01 = outscale.get_user_group(user_group_name=\"user_group_name\",\n    path=\"/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var userGroup01 = Outscale.GetUserGroup.Invoke(new()\n    {\n        UserGroupName = \"user_group_name\",\n        Path = \"/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupUserGroup(ctx, \u0026outscale.LookupUserGroupArgs{\n\t\t\tUserGroupName: \"user_group_name\",\n\t\t\tPath:          pulumi.StringRef(\"/\"),\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetUserGroupArgs;\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 userGroup01 = OutscaleFunctions.getUserGroup(GetUserGroupArgs.builder()\n            .userGroupName(\"user_group_name\")\n            .path(\"/\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  userGroup01:\n    fn::invoke:\n      function: outscale:getUserGroup\n      arguments:\n        userGroupName: user_group_name\n        path: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUserGroup.\n","properties":{"id":{"type":"string"},"path":{"type":"string","description":"The path to the group. If not specified, it is set to a slash (`/`).\n"},"userGroupName":{"type":"string","description":"The name of the group.\n"},"users":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetUserGroupUser:getUserGroupUser"}}},"type":"object","required":["userGroupName"]},"outputs":{"description":"A collection of values returned by getUserGroup.\n","properties":{"creationDate":{"description":"The date and time (UTC) of creation of the EIM user.\n","type":"string"},"id":{"type":"string"},"lastModificationDate":{"description":"The date and time (UTC) of the last modification of the EIM user.\n","type":"string"},"orn":{"description":"The Outscale Resource Name (ORN) of the user group. For more information, see [Resource Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n","type":"string"},"path":{"description":"The path to the EIM user.\n","type":"string"},"userGroupId":{"description":"The ID of the user group.\n","type":"string"},"userGroupName":{"type":"string"},"users":{"items":{"$ref":"#/types/outscale:index%2FgetUserGroupUser:getUserGroupUser"},"type":"array"}},"required":["creationDate","id","lastModificationDate","orn","userGroupId","userGroupName"],"type":"object"}},"outscale:index/getUserGroups:getUserGroups":{"description":"Provides information about user groups.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-EIM-Groups.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#createusergroup).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst usegroups01 = outscale.getUserGroups({\n    filters: [\n        {\n            name: \"user_group_ids\",\n            values: [\n                \"XXXXXXXXX\",\n                \"YYYYYYYYYY\",\n            ],\n        },\n        {\n            name: \"path_prefix\",\n            values: [\"/\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nusegroups01 = outscale.get_user_groups(filters=[\n    {\n        \"name\": \"user_group_ids\",\n        \"values\": [\n            \"XXXXXXXXX\",\n            \"YYYYYYYYYY\",\n        ],\n    },\n    {\n        \"name\": \"path_prefix\",\n        \"values\": [\"/\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var usegroups01 = Outscale.GetUserGroups.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetUserGroupsFilterInputArgs\n            {\n                Name = \"user_group_ids\",\n                Values = new[]\n                {\n                    \"XXXXXXXXX\",\n                    \"YYYYYYYYYY\",\n                },\n            },\n            new Outscale.Inputs.GetUserGroupsFilterInputArgs\n            {\n                Name = \"path_prefix\",\n                Values = new[]\n                {\n                    \"/\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetUserGroups(ctx, \u0026outscale.GetUserGroupsArgs{\n\t\t\tFilters: []outscale.GetUserGroupsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"user_group_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"XXXXXXXXX\",\n\t\t\t\t\t\t\"YYYYYYYYYY\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"path_prefix\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"/\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetUserGroupsArgs;\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 usegroups01 = OutscaleFunctions.getUserGroups(GetUserGroupsArgs.builder()\n            .filters(            \n                GetUserGroupsFilterArgs.builder()\n                    .name(\"user_group_ids\")\n                    .values(                    \n                        \"XXXXXXXXX\",\n                        \"YYYYYYYYYY\")\n                    .build(),\n                GetUserGroupsFilterArgs.builder()\n                    .name(\"path_prefix\")\n                    .values(\"/\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  usegroups01:\n    fn::invoke:\n      function: outscale:getUserGroups\n      arguments:\n        filters:\n          - name: user_group_ids\n            values:\n              - XXXXXXXXX\n              - YYYYYYYYYY\n          - name: path_prefix\n            values:\n              - /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUserGroups.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetUserGroupsFilter:getUserGroupsFilter"}},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUserGroups.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetUserGroupsFilter:getUserGroupsFilter"},"type":"array"},"id":{"type":"string"},"userGroups":{"description":"A list of user groups.\n","items":{"$ref":"#/types/outscale:index%2FgetUserGroupsUserGroup:getUserGroupsUserGroup"},"type":"array"}},"required":["id","userGroups"],"type":"object"}},"outscale:index/getUserGroupsPerUser:getUserGroupsPerUser":{"description":"Provides information about  groups that a specified user belongs to.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-EIM-Groups.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#readusergroupsperuser).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst userGroupsPerUser01 = outscale.getUserGroupsPerUser({\n    userName: \"user_name\",\n    userPath: \"/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nuser_groups_per_user01 = outscale.get_user_groups_per_user(user_name=\"user_name\",\n    user_path=\"/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var userGroupsPerUser01 = Outscale.GetUserGroupsPerUser.Invoke(new()\n    {\n        UserName = \"user_name\",\n        UserPath = \"/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetUserGroupsPerUser(ctx, \u0026outscale.GetUserGroupsPerUserArgs{\n\t\t\tUserName: \"user_name\",\n\t\t\tUserPath: pulumi.StringRef(\"/\"),\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetUserGroupsPerUserArgs;\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 userGroupsPerUser01 = OutscaleFunctions.getUserGroupsPerUser(GetUserGroupsPerUserArgs.builder()\n            .userName(\"user_name\")\n            .userPath(\"/\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  userGroupsPerUser01:\n    fn::invoke:\n      function: outscale:getUserGroupsPerUser\n      arguments:\n        userName: user_name\n        userPath: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUserGroupsPerUser.\n","properties":{"id":{"type":"string"},"userName":{"type":"string","description":"The name of the user.\n"},"userPath":{"type":"string","description":"The path to the user (by default, `/`).\n"}},"type":"object","required":["userName"]},"outputs":{"description":"A collection of values returned by getUserGroupsPerUser.\n","properties":{"id":{"type":"string"},"userGroups":{"items":{"$ref":"#/types/outscale:index%2FgetUserGroupsPerUserUserGroup:getUserGroupsPerUserUserGroup"},"type":"array"},"userName":{"type":"string"},"userPath":{"type":"string"}},"required":["id","userGroups","userName","userPath"],"type":"object"}},"outscale:index/getUsers:getUsers":{"description":"Provides information about users.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-EIM-Users.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api.html#createuser).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst users_2 = outscale.getUsers({\n    filters: [{\n        name: \"user_ids\",\n        values: [\n            \"XXXXXXXXXXXXXXXX\",\n            \"YYYYYYYYYY\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nusers_2 = outscale.get_users(filters=[{\n    \"name\": \"user_ids\",\n    \"values\": [\n        \"XXXXXXXXXXXXXXXX\",\n        \"YYYYYYYYYY\",\n    ],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var users_2 = Outscale.GetUsers.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetUsersFilterInputArgs\n            {\n                Name = \"user_ids\",\n                Values = new[]\n                {\n                    \"XXXXXXXXXXXXXXXX\",\n                    \"YYYYYYYYYY\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetUsers(ctx, \u0026outscale.GetUsersArgs{\n\t\t\tFilters: []outscale.GetUsersFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"user_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"XXXXXXXXXXXXXXXX\",\n\t\t\t\t\t\t\"YYYYYYYYYY\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetUsersArgs;\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 users-2 = OutscaleFunctions.getUsers(GetUsersArgs.builder()\n            .filters(GetUsersFilterArgs.builder()\n                .name(\"user_ids\")\n                .values(                \n                    \"XXXXXXXXXXXXXXXX\",\n                    \"YYYYYYYYYY\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  users-2:\n    fn::invoke:\n      function: outscale:getUsers\n      arguments:\n        filters:\n          - name: user_ids\n            values:\n              - XXXXXXXXXXXXXXXX\n              - YYYYYYYYYY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUsers.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetUsersFilter:getUsersFilter"}},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUsers.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetUsersFilter:getUsersFilter"},"type":"array"},"id":{"type":"string"},"users":{"description":"A list of EIM users.\n","items":{"$ref":"#/types/outscale:index%2FgetUsersUser:getUsersUser"},"type":"array"}},"required":["id","users"],"type":"object"}},"outscale:index/getVirtualGateway:getVirtualGateway":{"description":"Provides information about a virtual gateway.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Virtual-Gateways.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-virtualgateway).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGateway01 = outscale.getVirtualGateway({\n    filters: [{\n        name: \"virtual_gateway_ids\",\n        values: [\"vgw-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateway01 = outscale.get_virtual_gateway(filters=[{\n    \"name\": \"virtual_gateway_ids\",\n    \"values\": [\"vgw-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var virtualGateway01 = Outscale.GetVirtualGateway.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVirtualGatewayFilterInputArgs\n            {\n                Name = \"virtual_gateway_ids\",\n                Values = new[]\n                {\n                    \"vgw-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupVirtualGateway(ctx, \u0026outscale.LookupVirtualGatewayArgs{\n\t\t\tFilters: []outscale.GetVirtualGatewayFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"virtual_gateway_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vgw-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVirtualGatewayArgs;\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 virtualGateway01 = OutscaleFunctions.getVirtualGateway(GetVirtualGatewayArgs.builder()\n            .filters(GetVirtualGatewayFilterArgs.builder()\n                .name(\"virtual_gateway_ids\")\n                .values(\"vgw-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  virtualGateway01:\n    fn::invoke:\n      function: outscale:getVirtualGateway\n      arguments:\n        filters:\n          - name: virtual_gateway_ids\n            values:\n              - vgw-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVirtualGateway.\n","properties":{"connectionType":{"type":"string","description":"The type of VPN connection supported by the virtual gateway (always `ipsec.1`).\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVirtualGatewayFilter:getVirtualGatewayFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"state":{"type":"string","description":"The state of the virtual gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n"},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVirtualGateway.\n","properties":{"connectionType":{"description":"The type of VPN connection supported by the virtual gateway (always `ipsec.1`).\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVirtualGatewayFilter:getVirtualGatewayFilter"},"type":"array"},"id":{"type":"string"},"netToVirtualGatewayLinks":{"description":"The Net to which the virtual gateway is attached.\n","items":{"$ref":"#/types/outscale:index%2FgetVirtualGatewayNetToVirtualGatewayLink:getVirtualGatewayNetToVirtualGatewayLink"},"type":"array"},"requestId":{"type":"string"},"state":{"description":"The state of the virtual gateway (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e).\n","type":"string"},"tags":{"description":"One or more tags associated with the virtual gateway.\n","items":{"$ref":"#/types/outscale:index%2FgetVirtualGatewayTag:getVirtualGatewayTag"},"type":"array"},"virtualGatewayId":{"description":"The ID of the virtual gateway.\n","type":"string"}},"required":["connectionType","id","netToVirtualGatewayLinks","requestId","state","tags","virtualGatewayId"],"type":"object"}},"outscale:index/getVirtualGateways:getVirtualGateways":{"description":"Provides information about virtual gateways.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Virtual-Gateways.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-virtualgateway).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGateways01 = outscale.getVirtualGateways({\n    filters: [\n        {\n            name: \"states\",\n            values: [\"available\"],\n        },\n        {\n            name: \"link_states\",\n            values: [\n                \"attached\",\n                \"detached\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateways01 = outscale.get_virtual_gateways(filters=[\n    {\n        \"name\": \"states\",\n        \"values\": [\"available\"],\n    },\n    {\n        \"name\": \"link_states\",\n        \"values\": [\n            \"attached\",\n            \"detached\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var virtualGateways01 = Outscale.GetVirtualGateways.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVirtualGatewaysFilterInputArgs\n            {\n                Name = \"states\",\n                Values = new[]\n                {\n                    \"available\",\n                },\n            },\n            new Outscale.Inputs.GetVirtualGatewaysFilterInputArgs\n            {\n                Name = \"link_states\",\n                Values = new[]\n                {\n                    \"attached\",\n                    \"detached\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetVirtualGateways(ctx, \u0026outscale.GetVirtualGatewaysArgs{\n\t\t\tFilters: []outscale.GetVirtualGatewaysFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"available\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"link_states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"attached\",\n\t\t\t\t\t\t\"detached\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVirtualGatewaysArgs;\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 virtualGateways01 = OutscaleFunctions.getVirtualGateways(GetVirtualGatewaysArgs.builder()\n            .filters(            \n                GetVirtualGatewaysFilterArgs.builder()\n                    .name(\"states\")\n                    .values(\"available\")\n                    .build(),\n                GetVirtualGatewaysFilterArgs.builder()\n                    .name(\"link_states\")\n                    .values(                    \n                        \"attached\",\n                        \"detached\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  virtualGateways01:\n    fn::invoke:\n      function: outscale:getVirtualGateways\n      arguments:\n        filters:\n          - name: states\n            values:\n              - available\n          - name: link_states\n            values:\n              - attached\n              - detached\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVirtualGateways.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVirtualGatewaysFilter:getVirtualGatewaysFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"virtualGatewayIds":{"type":"array","items":{"type":"string"},"description":"The ID of the virtual gateway.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVirtualGateways.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVirtualGatewaysFilter:getVirtualGatewaysFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"virtualGatewayIds":{"description":"The ID of the virtual gateway.\n","items":{"type":"string"},"type":"array"},"virtualGateways":{"description":"Information about one or more virtual gateways.\n","items":{"$ref":"#/types/outscale:index%2FgetVirtualGatewaysVirtualGateway:getVirtualGatewaysVirtualGateway"},"type":"array"}},"required":["id","requestId","virtualGatewayIds","virtualGateways"],"type":"object"}},"outscale:index/getVm:getVm":{"description":"Provides information about a virtual machine (VM).\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-VMs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-vm).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vm01 = outscale.getVm({\n    filters: [{\n        name: \"vm_ids\",\n        values: [\"i-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvm01 = outscale.get_vm(filters=[{\n    \"name\": \"vm_ids\",\n    \"values\": [\"i-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vm01 = Outscale.GetVm.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVmFilterInputArgs\n            {\n                Name = \"vm_ids\",\n                Values = new[]\n                {\n                    \"i-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupVm(ctx, \u0026outscale.LookupVmArgs{\n\t\t\tFilters: []outscale.GetVmFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"vm_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"i-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVmArgs;\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 vm01 = OutscaleFunctions.getVm(GetVmArgs.builder()\n            .filters(GetVmFilterArgs.builder()\n                .name(\"vm_ids\")\n                .values(\"i-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vm01:\n    fn::invoke:\n      function: outscale:getVm\n      arguments:\n        filters:\n          - name: vm_ids\n            values:\n              - i-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVm.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmFilter:getVmFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVm.\n","properties":{"actionsOnNextBoots":{"description":"The action to perform on the next boot of the VM.\n","items":{"$ref":"#/types/outscale:index%2FgetVmActionsOnNextBoot:getVmActionsOnNextBoot"},"type":"array"},"architecture":{"description":"The architecture of the VM (\u003cspan pulumi-lang-nodejs=\"`i386`\" pulumi-lang-dotnet=\"`I386`\" pulumi-lang-go=\"`i386`\" pulumi-lang-python=\"`i386`\" pulumi-lang-yaml=\"`i386`\" pulumi-lang-java=\"`i386`\"\u003e`i386`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\"\u003e`x86_64`\u003c/span\u003e).\n","type":"string"},"blockDeviceMappingsCreateds":{"description":"The block device mapping of the VM.\n","items":{"$ref":"#/types/outscale:index%2FgetVmBlockDeviceMappingsCreated:getVmBlockDeviceMappingsCreated"},"type":"array"},"bootMode":{"description":"The boot mode of the VM. Possible values: \u003cspan pulumi-lang-nodejs=\"`uefi`\" pulumi-lang-dotnet=\"`Uefi`\" pulumi-lang-go=\"`uefi`\" pulumi-lang-python=\"`uefi`\" pulumi-lang-yaml=\"`uefi`\" pulumi-lang-java=\"`uefi`\"\u003e`uefi`\u003c/span\u003e | \u003cspan pulumi-lang-nodejs=\"`legacy`\" pulumi-lang-dotnet=\"`Legacy`\" pulumi-lang-go=\"`legacy`\" pulumi-lang-python=\"`legacy`\" pulumi-lang-yaml=\"`legacy`\" pulumi-lang-java=\"`legacy`\"\u003e`legacy`\u003c/span\u003e.\n","type":"string"},"bsuOptimized":{"type":"boolean"},"clientToken":{"description":"The idempotency token provided when launching the VM.\n","type":"string"},"creationDate":{"description":"The date and time (UTC) at which the VM was created.\n","type":"string"},"deletionProtection":{"description":"If true, you cannot delete the VM unless you change this parameter back to false.\n","type":"boolean"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVmFilter:getVmFilter"},"type":"array"},"hypervisor":{"description":"The hypervisor type of the VMs (\u003cspan pulumi-lang-nodejs=\"`ovm`\" pulumi-lang-dotnet=\"`Ovm`\" pulumi-lang-go=\"`ovm`\" pulumi-lang-python=\"`ovm`\" pulumi-lang-yaml=\"`ovm`\" pulumi-lang-java=\"`ovm`\"\u003e`ovm`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`xen`\" pulumi-lang-dotnet=\"`Xen`\" pulumi-lang-go=\"`xen`\" pulumi-lang-python=\"`xen`\" pulumi-lang-yaml=\"`xen`\" pulumi-lang-java=\"`xen`\"\u003e`xen`\u003c/span\u003e).\n","type":"string"},"id":{"type":"string"},"imageId":{"description":"The ID of the OMI used to create the VM.\n","type":"string"},"isSourceDestChecked":{"description":"(Net only) If true, the source/destination check is enabled. If false, it is disabled.\n","type":"boolean"},"keypairName":{"description":"The name of the keypair used when launching the VM.\n","type":"string"},"launchNumber":{"description":"The number for the VM when launching a group of several VMs (for example, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and so on).\n","type":"number"},"nestedVirtualization":{"description":"If true, nested virtualization is enabled. If false, it is disabled.\n","type":"boolean"},"netId":{"description":"The ID of the Net for the NIC.\n","type":"string"},"nics":{"description":"(Net only) The network interface cards (NICs) the VMs are attached to.\n","items":{"$ref":"#/types/outscale:index%2FgetVmNic:getVmNic"},"type":"array"},"osFamily":{"description":"Indicates the operating system (OS) of the VM.\n","type":"string"},"performance":{"description":"The performance of the VM (\u003cspan pulumi-lang-nodejs=\"`medium`\" pulumi-lang-dotnet=\"`Medium`\" pulumi-lang-go=\"`medium`\" pulumi-lang-python=\"`medium`\" pulumi-lang-yaml=\"`medium`\" pulumi-lang-java=\"`medium`\"\u003e`medium`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e \\|  \u003cspan pulumi-lang-nodejs=\"`highest`\" pulumi-lang-dotnet=\"`Highest`\" pulumi-lang-go=\"`highest`\" pulumi-lang-python=\"`highest`\" pulumi-lang-yaml=\"`highest`\" pulumi-lang-java=\"`highest`\"\u003e`highest`\u003c/span\u003e).\n","type":"string"},"placementSubregionName":{"type":"string"},"placementTenancy":{"type":"string"},"primaryNics":{"items":{"$ref":"#/types/outscale:index%2FgetVmPrimaryNic:getVmPrimaryNic"},"type":"array"},"privateDnsName":{"description":"The name of the private DNS.\n","type":"string"},"privateIp":{"description":"The primary private IP of the VM.\n","type":"string"},"privateIps":{"description":"The private IP or IPs of the NIC.\n","items":{"type":"string"},"type":"array"},"productCodes":{"description":"The product codes associated with the OMI used to create the VM.\n","items":{"type":"string"},"type":"array"},"publicDnsName":{"description":"The name of the public DNS.\n","type":"string"},"publicIp":{"description":"The public IP of the VM.\n","type":"string"},"requestId":{"type":"string"},"reservationId":{"description":"The reservation ID of the VM.\n","type":"string"},"rootDeviceName":{"description":"The name of the root device for the VM (for example, `/dev/sda1`).\n","type":"string"},"rootDeviceType":{"description":"The type of root device used by the VM (always \u003cspan pulumi-lang-nodejs=\"`bsu`\" pulumi-lang-dotnet=\"`Bsu`\" pulumi-lang-go=\"`bsu`\" pulumi-lang-python=\"`bsu`\" pulumi-lang-yaml=\"`bsu`\" pulumi-lang-java=\"`bsu`\"\u003e`bsu`\u003c/span\u003e).\n","type":"string"},"securityGroupIds":{"items":{"type":"string"},"type":"array"},"securityGroupNames":{"items":{"type":"string"},"type":"array"},"securityGroups":{"description":"One or more security groups associated with the VM.\n","items":{"$ref":"#/types/outscale:index%2FgetVmSecurityGroup:getVmSecurityGroup"},"type":"array"},"state":{"description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n","type":"string"},"stateReason":{"description":"The reason explaining the current state of the VM.\n","type":"string"},"subnetId":{"description":"The ID of the Subnet for the VM.\n","type":"string"},"tags":{"description":"One or more tags associated with the VM.\n","items":{"$ref":"#/types/outscale:index%2FgetVmTag:getVmTag"},"type":"array"},"tpmEnabled":{"description":"If true, a virtual Trusted Platform Module (vTPM) is enabled on the VM. If false, it is not.\u003cbr /\u003eThe default behavior for \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e varies depending on the source OMI of the VM.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is true, a vTPM has to be attached to the VM and it will be created by default. Setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to false will cause the creation request to fail.\u003cbr /\u003eIf the \u003cspan pulumi-lang-nodejs=\"`tpmMandatory`\" pulumi-lang-dotnet=\"`TpmMandatory`\" pulumi-lang-go=\"`tpmMandatory`\" pulumi-lang-python=\"`tpm_mandatory`\" pulumi-lang-yaml=\"`tpmMandatory`\" pulumi-lang-java=\"`tpmMandatory`\"\u003e`tpm_mandatory`\u003c/span\u003e attribute of the source OMI is false, only setting \u003cspan pulumi-lang-nodejs=\"`tpmEnabled`\" pulumi-lang-dotnet=\"`TpmEnabled`\" pulumi-lang-go=\"`tpmEnabled`\" pulumi-lang-python=\"`tpm_enabled`\" pulumi-lang-yaml=\"`tpmEnabled`\" pulumi-lang-java=\"`tpmEnabled`\"\u003e`tpm_enabled`\u003c/span\u003e to true will create and attach a vTPM to the VM.\n","type":"boolean"},"userData":{"description":"The Base64-encoded MIME user data.\n","type":"string"},"vmId":{"description":"The ID of the VM.\n","type":"string"},"vmInitiatedShutdownBehavior":{"description":"The VM behavior when you stop it. If set to \u003cspan pulumi-lang-nodejs=\"`stop`\" pulumi-lang-dotnet=\"`Stop`\" pulumi-lang-go=\"`stop`\" pulumi-lang-python=\"`stop`\" pulumi-lang-yaml=\"`stop`\" pulumi-lang-java=\"`stop`\"\u003e`stop`\u003c/span\u003e, the VM stops. If set to \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e, the VM stops then automatically restarts. If set to \u003cspan pulumi-lang-nodejs=\"`terminate`\" pulumi-lang-dotnet=\"`Terminate`\" pulumi-lang-go=\"`terminate`\" pulumi-lang-python=\"`terminate`\" pulumi-lang-yaml=\"`terminate`\" pulumi-lang-java=\"`terminate`\"\u003e`terminate`\u003c/span\u003e, the VM stops and is deleted.\n","type":"string"},"vmType":{"description":"The type of VM. For more information, see [VM Types](https://docs.outscale.com/en/userguide/VM-Types.html).\n","type":"string"}},"required":["actionsOnNextBoots","architecture","blockDeviceMappingsCreateds","bootMode","bsuOptimized","clientToken","creationDate","deletionProtection","hypervisor","id","imageId","isSourceDestChecked","keypairName","launchNumber","nestedVirtualization","netId","nics","osFamily","performance","placementSubregionName","placementTenancy","primaryNics","privateDnsName","privateIp","privateIps","productCodes","publicDnsName","publicIp","requestId","reservationId","rootDeviceName","rootDeviceType","securityGroupIds","securityGroupNames","securityGroups","state","stateReason","subnetId","tags","tpmEnabled","userData","vmId","vmInitiatedShutdownBehavior","vmType"],"type":"object"}},"outscale:index/getVmState:getVmState":{"description":"Provides information about a VM state.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-VM-Lifecycle.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readvmsstate).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vmState01 = outscale.getVmState({\n    allVms: true,\n    filters: [{\n        name: \"vm_ids\",\n        values: [\"i-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvm_state01 = outscale.get_vm_state(all_vms=True,\n    filters=[{\n        \"name\": \"vm_ids\",\n        \"values\": [\"i-12345678\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vmState01 = Outscale.GetVmState.Invoke(new()\n    {\n        AllVms = true,\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVmStateFilterInputArgs\n            {\n                Name = \"vm_ids\",\n                Values = new[]\n                {\n                    \"i-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetVmState(ctx, \u0026outscale.GetVmStateArgs{\n\t\t\tAllVms: pulumi.BoolRef(true),\n\t\t\tFilters: []outscale.GetVmStateFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"vm_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"i-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVmStateArgs;\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 vmState01 = OutscaleFunctions.getVmState(GetVmStateArgs.builder()\n            .allVms(true)\n            .filters(GetVmStateFilterArgs.builder()\n                .name(\"vm_ids\")\n                .values(\"i-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vmState01:\n    fn::invoke:\n      function: outscale:getVmState\n      arguments:\n        allVms: true\n        filters:\n          - name: vm_ids\n            values:\n              - i-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVmState.\n","properties":{"allVms":{"type":"boolean","description":"If true, includes the status of all VMs. By default or if set to false, only includes the status of running VMs.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmStateFilter:getVmStateFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"vmId":{"type":"string","description":"The ID of the VM.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVmState.\n","properties":{"allVms":{"type":"boolean"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVmStateFilter:getVmStateFilter"},"type":"array"},"id":{"type":"string"},"maintenanceEvents":{"description":"One or more scheduled events associated with the VM.\n","items":{"$ref":"#/types/outscale:index%2FgetVmStateMaintenanceEvent:getVmStateMaintenanceEvent"},"type":"array"},"requestId":{"type":"string"},"subregionName":{"description":"The name of the Subregion of the VM.\n","type":"string"},"vmId":{"description":"The ID of the VM.\n","type":"string"},"vmState":{"description":"The state of the VM (\u003cspan pulumi-lang-nodejs=\"`pending`\" pulumi-lang-dotnet=\"`Pending`\" pulumi-lang-go=\"`pending`\" pulumi-lang-python=\"`pending`\" pulumi-lang-yaml=\"`pending`\" pulumi-lang-java=\"`pending`\"\u003e`pending`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\"\u003e`running`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e \\| `shutting-down` \\| \u003cspan pulumi-lang-nodejs=\"`terminated`\" pulumi-lang-dotnet=\"`Terminated`\" pulumi-lang-go=\"`terminated`\" pulumi-lang-python=\"`terminated`\" pulumi-lang-yaml=\"`terminated`\" pulumi-lang-java=\"`terminated`\"\u003e`terminated`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`quarantine`\" pulumi-lang-dotnet=\"`Quarantine`\" pulumi-lang-go=\"`quarantine`\" pulumi-lang-python=\"`quarantine`\" pulumi-lang-yaml=\"`quarantine`\" pulumi-lang-java=\"`quarantine`\"\u003e`quarantine`\u003c/span\u003e).\n","type":"string"}},"required":["id","maintenanceEvents","requestId","subregionName","vmState"],"type":"object"}},"outscale:index/getVmStates:getVmStates":{"description":"Provides information about VM states.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-VM-Lifecycle.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readvmsstate).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vmStates01 = outscale.getVmStates({\n    filters: [\n        {\n            name: \"vm_ids\",\n            values: [\n                \"i-12345678\",\n                \"i-87654321\",\n            ],\n        },\n        {\n            name: \"vm_states\",\n            values: [\"running\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvm_states01 = outscale.get_vm_states(filters=[\n    {\n        \"name\": \"vm_ids\",\n        \"values\": [\n            \"i-12345678\",\n            \"i-87654321\",\n        ],\n    },\n    {\n        \"name\": \"vm_states\",\n        \"values\": [\"running\"],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vmStates01 = Outscale.GetVmStates.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVmStatesFilterInputArgs\n            {\n                Name = \"vm_ids\",\n                Values = new[]\n                {\n                    \"i-12345678\",\n                    \"i-87654321\",\n                },\n            },\n            new Outscale.Inputs.GetVmStatesFilterInputArgs\n            {\n                Name = \"vm_states\",\n                Values = new[]\n                {\n                    \"running\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetVmStates(ctx, \u0026outscale.GetVmStatesArgs{\n\t\t\tFilters: []outscale.GetVmStatesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"vm_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"i-12345678\",\n\t\t\t\t\t\t\"i-87654321\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"vm_states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"running\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVmStatesArgs;\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 vmStates01 = OutscaleFunctions.getVmStates(GetVmStatesArgs.builder()\n            .filters(            \n                GetVmStatesFilterArgs.builder()\n                    .name(\"vm_ids\")\n                    .values(                    \n                        \"i-12345678\",\n                        \"i-87654321\")\n                    .build(),\n                GetVmStatesFilterArgs.builder()\n                    .name(\"vm_states\")\n                    .values(\"running\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vmStates01:\n    fn::invoke:\n      function: outscale:getVmStates\n      arguments:\n        filters:\n          - name: vm_ids\n            values:\n              - i-12345678\n              - i-87654321\n          - name: vm_states\n            values:\n              - running\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVmStates.\n","properties":{"allVms":{"type":"boolean","description":"If true, includes the status of all VMs. By default or if set to false, only includes the status of running VMs.\n"},"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmStatesFilter:getVmStatesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"vmIds":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getVmStates.\n","properties":{"allVms":{"type":"boolean"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVmStatesFilter:getVmStatesFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"vmIds":{"items":{"type":"string"},"type":"array"},"vmStates":{"description":"Information about one or more VM states.\n","items":{"$ref":"#/types/outscale:index%2FgetVmStatesVmState:getVmStatesVmState"},"type":"array"}},"required":["id","requestId","vmStates"],"type":"object"}},"outscale:index/getVmTypes:getVmTypes":{"description":"Provides information about VM types.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/VM-Types.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readvmtypes).\n\n## Example Usage\n\n### All types of VMs\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst allVmTypes = outscale.getVmTypes({});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nall_vm_types = outscale.get_vm_types()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allVmTypes = Outscale.GetVmTypes.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetVmTypes(ctx, \u0026outscale.GetVmTypesArgs{}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVmTypesArgs;\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 allVmTypes = OutscaleFunctions.getVmTypes(GetVmTypesArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  allVmTypes:\n    fn::invoke:\n      function: outscale:getVmTypes\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### VMs optimized for Block Storage Unit (BSU)\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vmTypes01 = outscale.getVmTypes({\n    filters: [{\n        name: \"bsu_optimized\",\n        values: [\"true\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvm_types01 = outscale.get_vm_types(filters=[{\n    \"name\": \"bsu_optimized\",\n    \"values\": [\"true\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vmTypes01 = Outscale.GetVmTypes.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVmTypesFilterInputArgs\n            {\n                Name = \"bsu_optimized\",\n                Values = new[]\n                {\n                    \"true\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetVmTypes(ctx, \u0026outscale.GetVmTypesArgs{\n\t\t\tFilters: []outscale.GetVmTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"bsu_optimized\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"true\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVmTypesArgs;\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 vmTypes01 = OutscaleFunctions.getVmTypes(GetVmTypesArgs.builder()\n            .filters(GetVmTypesFilterArgs.builder()\n                .name(\"bsu_optimized\")\n                .values(\"true\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vmTypes01:\n    fn::invoke:\n      function: outscale:getVmTypes\n      arguments:\n        filters:\n          - name: bsu_optimized\n            values:\n              - true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specific VM type\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vmTypes02 = outscale.getVmTypes({\n    filters: [{\n        name: \"vm_type_names\",\n        values: [\"m3.large\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvm_types02 = outscale.get_vm_types(filters=[{\n    \"name\": \"vm_type_names\",\n    \"values\": [\"m3.large\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vmTypes02 = Outscale.GetVmTypes.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVmTypesFilterInputArgs\n            {\n                Name = \"vm_type_names\",\n                Values = new[]\n                {\n                    \"m3.large\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetVmTypes(ctx, \u0026outscale.GetVmTypesArgs{\n\t\t\tFilters: []outscale.GetVmTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"vm_type_names\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"m3.large\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVmTypesArgs;\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 vmTypes02 = OutscaleFunctions.getVmTypes(GetVmTypesArgs.builder()\n            .filters(GetVmTypesFilterArgs.builder()\n                .name(\"vm_type_names\")\n                .values(\"m3.large\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vmTypes02:\n    fn::invoke:\n      function: outscale:getVmTypes\n      arguments:\n        filters:\n          - name: vm_type_names\n            values:\n              - m3.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVmTypes.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmTypesFilter:getVmTypesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVmTypes.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVmTypesFilter:getVmTypesFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"vmTypes":{"description":"Information about one or more VM types.\n","items":{"$ref":"#/types/outscale:index%2FgetVmTypesVmType:getVmTypesVmType"},"type":"array"}},"required":["id","requestId","vmTypes"],"type":"object"}},"outscale:index/getVms:getVms":{"description":"Provides information about virtual machines (VMs).\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-VMs.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-vm).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vms01 = outscale.getVms({\n    filters: [\n        {\n            name: \"tag_keys\",\n            values: [\"env\"],\n        },\n        {\n            name: \"tag_values\",\n            values: [\n                \"prod\",\n                \"test\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvms01 = outscale.get_vms(filters=[\n    {\n        \"name\": \"tag_keys\",\n        \"values\": [\"env\"],\n    },\n    {\n        \"name\": \"tag_values\",\n        \"values\": [\n            \"prod\",\n            \"test\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vms01 = Outscale.GetVms.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVmsFilterInputArgs\n            {\n                Name = \"tag_keys\",\n                Values = new[]\n                {\n                    \"env\",\n                },\n            },\n            new Outscale.Inputs.GetVmsFilterInputArgs\n            {\n                Name = \"tag_values\",\n                Values = new[]\n                {\n                    \"prod\",\n                    \"test\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetVms(ctx, \u0026outscale.GetVmsArgs{\n\t\t\tFilters: []outscale.GetVmsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"tag_keys\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"env\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"tag_values\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"prod\",\n\t\t\t\t\t\t\"test\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVmsArgs;\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 vms01 = OutscaleFunctions.getVms(GetVmsArgs.builder()\n            .filters(            \n                GetVmsFilterArgs.builder()\n                    .name(\"tag_keys\")\n                    .values(\"env\")\n                    .build(),\n                GetVmsFilterArgs.builder()\n                    .name(\"tag_values\")\n                    .values(                    \n                        \"prod\",\n                        \"test\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vms01:\n    fn::invoke:\n      function: outscale:getVms\n      arguments:\n        filters:\n          - name: tag_keys\n            values:\n              - env\n          - name: tag_values\n            values:\n              - prod\n              - test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVms.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVmsFilter:getVmsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVms.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVmsFilter:getVmsFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"vms":{"description":"Information about one or more VMs.\n","items":{"$ref":"#/types/outscale:index%2FgetVmsVm:getVmsVm"},"type":"array"}},"required":["id","requestId","vms"],"type":"object"}},"outscale:index/getVolume:getVolume":{"description":"Provides information about a volume.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Volumes.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-volume).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst outscaleVolume01 = outscale.getVolume({\n    filters: [{\n        name: \"volume_ids\",\n        values: [\"vol-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\noutscale_volume01 = outscale.get_volume(filters=[{\n    \"name\": \"volume_ids\",\n    \"values\": [\"vol-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var outscaleVolume01 = Outscale.GetVolume.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVolumeFilterInputArgs\n            {\n                Name = \"volume_ids\",\n                Values = new[]\n                {\n                    \"vol-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupVolume(ctx, \u0026outscale.LookupVolumeArgs{\n\t\t\tFilters: []outscale.GetVolumeFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vol-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVolumeArgs;\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 outscaleVolume01 = OutscaleFunctions.getVolume(GetVolumeArgs.builder()\n            .filters(GetVolumeFilterArgs.builder()\n                .name(\"volume_ids\")\n                .values(\"vol-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  outscaleVolume01:\n    fn::invoke:\n      function: outscale:getVolume\n      arguments:\n        filters:\n          - name: volume_ids\n            values:\n              - vol-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVolume.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVolumeFilter:getVolumeFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"requestId":{"type":"string"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVolume.\n","properties":{"creationDate":{"description":"The date and time (UTC) at which the volume was created.\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVolumeFilter:getVolumeFilter"},"type":"array"},"id":{"type":"string"},"iops":{"description":"The number of I/O operations per second (IOPS):\u003cbr /\u003e- For \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e volumes, the number of provisioned IOPS.\u003cbr /\u003e- For \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e volumes, the baseline performance of the volume.\n","type":"number"},"linkedVolumes":{"description":"Information about your volume attachment.\n","items":{"$ref":"#/types/outscale:index%2FgetVolumeLinkedVolume:getVolumeLinkedVolume"},"type":"array"},"requestId":{"type":"string"},"size":{"description":"The size of the volume, in gibibytes (GiB).\n","type":"number"},"snapshotId":{"description":"The snapshot from which the volume was created.\n","type":"string"},"state":{"description":"The state of the volume (\u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\"\u003e`available`\u003c/span\u003e \\| `in-use` \\| \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`error`\" pulumi-lang-dotnet=\"`Error`\" pulumi-lang-go=\"`error`\" pulumi-lang-python=\"`error`\" pulumi-lang-yaml=\"`error`\" pulumi-lang-java=\"`error`\"\u003e`error`\u003c/span\u003e).\n","type":"string"},"subregionName":{"description":"The Subregion in which the volume was created.\n","type":"string"},"tags":{"description":"One or more tags associated with the volume.\n","items":{"$ref":"#/types/outscale:index%2FgetVolumeTag:getVolumeTag"},"type":"array"},"volumeId":{"description":"The ID of the volume.\n","type":"string"},"volumeType":{"description":"The type of the volume (\u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`gp2`\" pulumi-lang-dotnet=\"`Gp2`\" pulumi-lang-go=\"`gp2`\" pulumi-lang-python=\"`gp2`\" pulumi-lang-yaml=\"`gp2`\" pulumi-lang-java=\"`gp2`\"\u003e`gp2`\u003c/span\u003e \\| \u003cspan pulumi-lang-nodejs=\"`io1`\" pulumi-lang-dotnet=\"`Io1`\" pulumi-lang-go=\"`io1`\" pulumi-lang-python=\"`io1`\" pulumi-lang-yaml=\"`io1`\" pulumi-lang-java=\"`io1`\"\u003e`io1`\u003c/span\u003e).\n","type":"string"}},"required":["creationDate","id","iops","linkedVolumes","size","snapshotId","state","subregionName","tags","volumeType"],"type":"object"}},"outscale:index/getVolumes:getVolumes":{"description":"Provides information about volumes.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Volumes.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-volume).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst outscaleVolumes01 = outscale.getVolumes({\n    filters: [\n        {\n            name: \"volume_states\",\n            values: [\"in-use\"],\n        },\n        {\n            name: \"volume_types\",\n            values: [\n                \"gp2\",\n                \"io1\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\noutscale_volumes01 = outscale.get_volumes(filters=[\n    {\n        \"name\": \"volume_states\",\n        \"values\": [\"in-use\"],\n    },\n    {\n        \"name\": \"volume_types\",\n        \"values\": [\n            \"gp2\",\n            \"io1\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var outscaleVolumes01 = Outscale.GetVolumes.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVolumesFilterInputArgs\n            {\n                Name = \"volume_states\",\n                Values = new[]\n                {\n                    \"in-use\",\n                },\n            },\n            new Outscale.Inputs.GetVolumesFilterInputArgs\n            {\n                Name = \"volume_types\",\n                Values = new[]\n                {\n                    \"gp2\",\n                    \"io1\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetVolumes(ctx, \u0026outscale.GetVolumesArgs{\n\t\t\tFilters: []outscale.GetVolumesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"volume_states\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"in-use\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"volume_types\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"gp2\",\n\t\t\t\t\t\t\"io1\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVolumesArgs;\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 outscaleVolumes01 = OutscaleFunctions.getVolumes(GetVolumesArgs.builder()\n            .filters(            \n                GetVolumesFilterArgs.builder()\n                    .name(\"volume_states\")\n                    .values(\"in-use\")\n                    .build(),\n                GetVolumesFilterArgs.builder()\n                    .name(\"volume_types\")\n                    .values(                    \n                        \"gp2\",\n                        \"io1\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  outscaleVolumes01:\n    fn::invoke:\n      function: outscale:getVolumes\n      arguments:\n        filters:\n          - name: volume_states\n            values:\n              - in-use\n          - name: volume_types\n            values:\n              - gp2\n              - io1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVolumes.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVolumesFilter:getVolumesFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"requestId":{"type":"string"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVolumes.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVolumesFilter:getVolumesFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"volumeId":{"description":"The ID of the volume.\n","type":"string"},"volumes":{"description":"Information about one or more volumes.\n","items":{"$ref":"#/types/outscale:index%2FgetVolumesVolume:getVolumesVolume"},"type":"array"}},"required":["id","volumes"],"type":"object"}},"outscale:index/getVpnConnection:getVpnConnection":{"description":"Provides information about a VPN connection.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-VPN-Connections.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-vpnconnection).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vpnConnection01 = outscale.getVpnConnection({\n    filters: [{\n        name: \"vpn_connection_ids\",\n        values: [\"vpn-12345678\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvpn_connection01 = outscale.get_vpn_connection(filters=[{\n    \"name\": \"vpn_connection_ids\",\n    \"values\": [\"vpn-12345678\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpnConnection01 = Outscale.GetVpnConnection.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVpnConnectionFilterInputArgs\n            {\n                Name = \"vpn_connection_ids\",\n                Values = new[]\n                {\n                    \"vpn-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.LookupVpnConnection(ctx, \u0026outscale.LookupVpnConnectionArgs{\n\t\t\tFilters: []outscale.GetVpnConnectionFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"vpn_connection_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpn-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVpnConnectionArgs;\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 vpnConnection01 = OutscaleFunctions.getVpnConnection(GetVpnConnectionArgs.builder()\n            .filters(GetVpnConnectionFilterArgs.builder()\n                .name(\"vpn_connection_ids\")\n                .values(\"vpn-12345678\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vpnConnection01:\n    fn::invoke:\n      function: outscale:getVpnConnection\n      arguments:\n        filters:\n          - name: vpn_connection_ids\n            values:\n              - vpn-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpnConnection.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionFilter:getVpnConnectionFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"staticRoutesOnly":{"type":"boolean","description":"If false, the VPN connection uses dynamic routing with Border Gateway Protocol (BGP). If true, routing is controlled using static routes. For more information about how to create and delete static routes, see [CreateVpnConnectionRoute](https://docs.outscale.com/api#createvpnconnectionroute) and [DeleteVpnConnectionRoute](https://docs.outscale.com/api#deletevpnconnectionroute).\n"},"vpnConnectionId":{"type":"string","description":"The ID of the VPN connection.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpnConnection.\n","properties":{"clientGatewayConfiguration":{"description":"Example configuration for the client gateway.\n","type":"string"},"clientGatewayId":{"description":"The ID of the client gateway used on the client end of the connection.\n","type":"string"},"connectionType":{"description":"The type of VPN connection (always `ipsec.1`).\n","type":"string"},"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionFilter:getVpnConnectionFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"routes":{"description":"Information about one or more static routes associated with the VPN connection, if any.\n","items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionRoute:getVpnConnectionRoute"},"type":"array"},"state":{"description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n","type":"string"},"staticRoutesOnly":{"description":"If false, the VPN connection uses dynamic routing with Border Gateway Protocol (BGP). If true, routing is controlled using static routes. For more information about how to create and delete static routes, see [CreateVpnConnectionRoute](https://docs.outscale.com/api#createvpnconnectionroute) and [DeleteVpnConnectionRoute](https://docs.outscale.com/api#deletevpnconnectionroute).\n","type":"boolean"},"tags":{"description":"One or more tags associated with the VPN connection.\n","items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionTag:getVpnConnectionTag"},"type":"array"},"vgwTelemetries":{"description":"Information about the current state of one or more of the VPN tunnels.\n","items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionVgwTelemetry:getVpnConnectionVgwTelemetry"},"type":"array"},"virtualGatewayId":{"description":"The ID of the virtual gateway used on the OUTSCALE end of the connection.\n","type":"string"},"vpnConnectionId":{"description":"The ID of the VPN connection.\n","type":"string"}},"required":["clientGatewayConfiguration","clientGatewayId","connectionType","id","requestId","routes","state","tags","vgwTelemetries","virtualGatewayId"],"type":"object"}},"outscale:index/getVpnConnections:getVpnConnections":{"description":"Provides information about VPN connections.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-VPN-Connections.html).  \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-vpnconnection).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vpnConnections01 = outscale.getVpnConnections({\n    filters: [\n        {\n            name: \"client_gateway_ids\",\n            values: [\"cgw-12345678\"],\n        },\n        {\n            name: \"virtual_gateway_ids\",\n            values: [\n                \"vgw-12345678\",\n                \"vgw-12345678\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvpn_connections01 = outscale.get_vpn_connections(filters=[\n    {\n        \"name\": \"client_gateway_ids\",\n        \"values\": [\"cgw-12345678\"],\n    },\n    {\n        \"name\": \"virtual_gateway_ids\",\n        \"values\": [\n            \"vgw-12345678\",\n            \"vgw-12345678\",\n        ],\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpnConnections01 = Outscale.GetVpnConnections.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Outscale.Inputs.GetVpnConnectionsFilterInputArgs\n            {\n                Name = \"client_gateway_ids\",\n                Values = new[]\n                {\n                    \"cgw-12345678\",\n                },\n            },\n            new Outscale.Inputs.GetVpnConnectionsFilterInputArgs\n            {\n                Name = \"virtual_gateway_ids\",\n                Values = new[]\n                {\n                    \"vgw-12345678\",\n                    \"vgw-12345678\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/outscale/outscale\"\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_, err := outscale.GetVpnConnections(ctx, \u0026outscale.GetVpnConnectionsArgs{\n\t\t\tFilters: []outscale.GetVpnConnectionsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"client_gateway_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"cgw-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"virtual_gateway_ids\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vgw-12345678\",\n\t\t\t\t\t\t\"vgw-12345678\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\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.outscale.OutscaleFunctions;\nimport com.pulumi.outscale.inputs.GetVpnConnectionsArgs;\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 vpnConnections01 = OutscaleFunctions.getVpnConnections(GetVpnConnectionsArgs.builder()\n            .filters(            \n                GetVpnConnectionsFilterArgs.builder()\n                    .name(\"client_gateway_ids\")\n                    .values(\"cgw-12345678\")\n                    .build(),\n                GetVpnConnectionsFilterArgs.builder()\n                    .name(\"virtual_gateway_ids\")\n                    .values(                    \n                        \"vgw-12345678\",\n                        \"vgw-12345678\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vpnConnections01:\n    fn::invoke:\n      function: outscale:getVpnConnections\n      arguments:\n        filters:\n          - name: client_gateway_ids\n            values:\n              - cgw-12345678\n          - name: virtual_gateway_ids\n            values:\n              - vgw-12345678\n              - vgw-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpnConnections.\n","properties":{"filters":{"type":"array","items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionsFilter:getVpnConnectionsFilter"},"description":"A combination of a filter name and one or more filter values. You can specify this argument for as many filter names as you need. The filter name can be any of the following:\n"},"id":{"type":"string"},"vpnConnectionIds":{"type":"array","items":{"type":"string"}}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpnConnections.\n","properties":{"filters":{"items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionsFilter:getVpnConnectionsFilter"},"type":"array"},"id":{"type":"string"},"requestId":{"type":"string"},"vpnConnectionIds":{"items":{"type":"string"},"type":"array"},"vpnConnections":{"description":"Information about one or more VPN connections.\n","items":{"$ref":"#/types/outscale:index%2FgetVpnConnectionsVpnConnection:getVpnConnectionsVpnConnection"},"type":"array"}},"required":["id","requestId","vpnConnections"],"type":"object"}},"pulumi:providers:outscale/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"$ref":"#/resources/pulumi:providers:outscale"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL291dHNjYWxlL291dHNjYWxlIiwidmVyc2lvbiI6IjEuNC4wIn19"}}