diff --git a/provider/cmd/pulumi-resource-outscale/Pulumi.yaml b/provider/cmd/pulumi-resource-outscale/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/provider/cmd/pulumi-resource-outscale/schema.json b/provider/cmd/pulumi-resource-outscale/schema.json new file mode 100644 index 0000000..4cd7fb7 --- /dev/null +++ b/provider/cmd/pulumi-resource-outscale/schema.json @@ -0,0 +1,22014 @@ +{ + "name": "outscale", + "description": "A Pulumi package for creating and managing outscale cloud resources.", + "keywords": [ + "pulumi", + "outscale", + "category/cloud" + ], + "homepage": "https://www.pulumi.com", + "license": "Apache-2.0", + "attribution": "This Pulumi package is based on the [`outscale` Terraform Provider](https://github.com/outscale/terraform-provider-outscale).", + "repository": "https://github.com/outscale/pulumi-outscale", + "publisher": "Pulumi", + "meta": { + "moduleFormat": "(.*)(?:/[^/]*)" + }, + "language": { + "csharp": { + "packageReferences": { + "Pulumi": "3.*" + }, + "compatibility": "tfbridge20" + }, + "go": { + "importBasePath": "github.com/outscale/pulumi-outscale/sdk/go/outscale", + "generateResourceContainerTypes": true, + "generateExtraInputTypes": true + }, + "nodejs": { + "packageDescription": "A Pulumi package for creating and managing outscale cloud resources.", + "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 first check the [`pulumi-outscale` repo](https://github.com/outscale/pulumi-outscale/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-outscale` repo](https://github.com/outscale/terraform-provider-outscale/issues).", + "dependencies": { + "@pulumi/pulumi": "^3.0.0" + }, + "devDependencies": { + "@types/mime": "^2.0.0", + "@types/node": "^10.0.0" + }, + "compatibility": "tfbridge20", + "disableUnionOutputTypes": true + }, + "python": { + "requires": { + "pulumi": "\u003e=3.0.0,\u003c4.0.0" + }, + "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 first check the [`pulumi-outscale` repo](https://github.com/outscale/pulumi-outscale/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-outscale` repo](https://github.com/outscale/terraform-provider-outscale/issues).", + "compatibility": "tfbridge20", + "pyproject": {} + } + }, + "config": { + "variables": { + "accessKeyId": { + "type": "string", + "description": "The Access Key ID for API operations\n", + "defaultInfo": { + "environment": [ + "OUTSCALE_ACCESSKEYID" + ] + } + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/types/outscale:config/endpoints:endpoints" + } + }, + "region": { + "type": "string", + "description": "The Region for API operations.\n", + "defaultInfo": { + "environment": [ + "OUTSCALE_REGION" + ] + } + }, + "secretKeyId": { + "type": "string", + "description": "The Secret Key ID for API operations.\n", + "defaultInfo": { + "environment": [ + "OUTSCALE_SECRETKEYID" + ] + } + }, + "x509CertPath": { + "type": "string", + "description": "The path to your x509 cert\n" + }, + "x509KeyPath": { + "type": "string", + "description": "The path to your x509 key\n" + } + }, + "defaults": [ + "accessKeyId", + "region", + "secretKeyId" + ] + }, + "types": { + "outscale:config/endpoints:endpoints": { + "properties": { + "api": { + "type": "string" + } + }, + "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/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/ImageBlockDeviceMapping:ImageBlockDeviceMapping": { + "properties": { + "bsus": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageBlockDeviceMappingBsus: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 `b` and `z`, and the second `X` is a letter between `a` and `z`).\n" + }, + "virtualDeviceName": { + "type": "string", + "description": "The name of the virtual device (`ephemeralN`).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "bsus", + "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": "integer", + "description": "The number of I/O operations per second (IOPS). This parameter must be specified only if you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` 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": "integer", + "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 (`standard` \\| `io1` \\| `gp2`). If not specified in the request, a `standard` 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 (`qcow2` \\| `raw`).\n", + "willReplaceOnChanges": true + }, + "osuApiKeys": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageExportTaskOsuExportOsuApiKey:ImageExportTaskOsuExportOsuApiKey" + }, + "description": "Information about the OOS API key.\n", + "willReplaceOnChanges": true + }, + "osuBucket": { + "type": "string", + "description": "The name of the OOS bucket where you want to export the object.\n", + "willReplaceOnChanges": true + }, + "osuManifestUrl": { + "type": "string", + "description": "The URL of the manifest file.\n", + "willReplaceOnChanges": true + }, + "osuPrefix": { + "type": "string", + "description": "The prefix for the key of the OOS object.\n", + "willReplaceOnChanges": true + } + }, + "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/ImageLaunchPermissionPermissionAdditions:ImageLaunchPermissionPermissionAdditions": { + "properties": { + "accountIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The account ID of one or more users from whom you want to remove permissions.\n", + "willReplaceOnChanges": true + }, + "globalPermission": { + "type": "string", + "description": "If true, the resource is public. If false, the resource is private.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "globalPermission": { + "type": "string", + "description": "If true, the resource is public. If false, the resource is private.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outscale:index/ImageLaunchPermissionPermissionsToLaunch:ImageLaunchPermissionPermissionsToLaunch": { + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "accountIds", + "globalPermission" + ] + } + } + }, + "outscale:index/ImagePermissionsToLaunch:ImagePermissionsToLaunch": { + "properties": { + "accountIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The account ID of one or more users who have permissions for the resource.\n" + }, + "globalPermission": { + "type": "boolean", + "description": "If true, the resource is public. If false, the resource is private.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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/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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "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 `osu_bucket_name` 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 `root` level of your bucket).\n" + }, + "publicationInterval": { + "type": "integer", + "description": "The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either `5` or `60` (by default, `60`).\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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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 `osu_bucket_name` parameter is required.\n", + "willReplaceOnChanges": true + }, + "osuBucketName": { + "type": "string", + "description": "The name of the OOS bucket for the access logs.\n", + "willReplaceOnChanges": true + }, + "osuBucketPrefix": { + "type": "string", + "description": "The path to the folder of the access logs in your OOS bucket (by default, the `root` level of your bucket).\n", + "willReplaceOnChanges": true + }, + "publicationInterval": { + "type": "integer", + "description": "The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either `5` or `60` (by default, `60`).\n", + "willReplaceOnChanges": true + } + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "cookieName", + "policyName" + ] + } + } + }, + "outscale:index/LoadBalancerAttributesHealthCheck:LoadBalancerAttributesHealthCheck": { + "properties": { + "checkInterval": { + "type": "integer", + "description": "The number of seconds between two pings (between `5` and `600` both included).\n", + "willReplaceOnChanges": true + }, + "healthyThreshold": { + "type": "integer", + "description": "The number of consecutive successful pings before considering the VM as healthy (between `2` and `10` both included).\n", + "willReplaceOnChanges": true + }, + "path": { + "type": "string", + "description": "If you use the HTTP or HTTPS protocols, the ping path.\n", + "willReplaceOnChanges": true + }, + "port": { + "type": "integer", + "description": "The port number (between `1` and `65535`, both included).\n", + "willReplaceOnChanges": true + }, + "protocol": { + "type": "string", + "description": "The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n", + "willReplaceOnChanges": true + }, + "timeout": { + "type": "integer", + "description": "The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between `2` and `60` both included).\n", + "willReplaceOnChanges": true + }, + "unhealthyThreshold": { + "type": "integer", + "description": "The number of consecutive failed pings before considering the VM as unhealthy (between `2` and `10` both included).\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "checkInterval", + "healthyThreshold", + "port", + "protocol", + "timeout", + "unhealthyThreshold" + ] + }, + "outscale:index/LoadBalancerAttributesListener:LoadBalancerAttributesListener": { + "properties": { + "backendPort": { + "type": "integer", + "description": "The port on which the back-end VM is listening (between `1` and `65535`, both included).\n" + }, + "backendProtocol": { + "type": "string", + "description": "The protocol for routing traffic to back-end VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n" + }, + "loadBalancerPort": { + "type": "integer", + "description": "The port on which the load balancer is listening (between `1` and `65535`, 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 `load_balancer_port` parameter.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "backendPort", + "backendProtocol", + "loadBalancerPort", + "loadBalancerProtocol", + "policyNames", + "serverCertificateId" + ] + } + } + }, + "outscale:index/LoadBalancerAttributesLoadBalancerStickyCookiePolicy:LoadBalancerAttributesLoadBalancerStickyCookiePolicy": { + "properties": { + "policyName": { + "type": "string", + "description": "The name of the stickiness policy.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "outscale:index/LoadBalancerHealthCheck:LoadBalancerHealthCheck": { + "properties": { + "checkInterval": { + "type": "string", + "description": "The number of seconds between two pings (between `5` and `600` both included).\n" + }, + "healthyThreshold": { + "type": "string", + "description": "The number of consecutive successful pings before considering the VM as healthy (between `2` and `10` both included).\n" + }, + "path": { + "type": "string", + "description": "If you use the HTTP or HTTPS protocols, the ping path.\n" + }, + "port": { + "type": "string", + "description": "The port number (between `1` and `65535`, both included).\n" + }, + "protocol": { + "type": "string", + "description": "The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n" + }, + "timeout": { + "type": "string", + "description": "The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between `2` and `60` both included).\n" + }, + "unhealthyThreshold": { + "type": "string", + "description": "The number of consecutive failed pings before considering the VM as unhealthy (between `2` and `10` both included).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "checkInterval", + "healthyThreshold", + "path", + "port", + "protocol", + "timeout", + "unhealthyThreshold" + ] + } + } + }, + "outscale:index/LoadBalancerListener:LoadBalancerListener": { + "properties": { + "backendPort": { + "type": "integer", + "description": "The port on which the back-end VM is listening (between `1` and `65535`, both included).\n" + }, + "backendProtocol": { + "type": "string", + "description": "The protocol for routing traffic to back-end VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n" + }, + "loadBalancerPort": { + "type": "integer", + "description": "The port on which the load balancer is listening (between `1` and `65535`, 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" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "backendPort", + "backendProtocol", + "loadBalancerPort", + "loadBalancerProtocol", + "policyNames" + ] + } + } + }, + "outscale:index/LoadBalancerLoadBalancerStickyCookiePolicy:LoadBalancerLoadBalancerStickyCookiePolicy": { + "properties": { + "policyName": { + "type": "string", + "description": "The name of the stickiness policy.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "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 `osu_bucket_name` 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 `root` level of your bucket).\n" + }, + "publicationInterval": { + "type": "integer", + "description": "The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either `5` or `60` (by default, `60`).\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 name of the policy. This name must be unique and consist of alphanumeric characters and dashes (-).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "cookieName", + "policyName" + ] + } + } + }, + "outscale:index/LoadBalancerPolicyHealthCheck:LoadBalancerPolicyHealthCheck": { + "properties": { + "checkInterval": { + "type": "string", + "description": "The number of seconds between two pings (between `5` and `600` both included).\n" + }, + "healthyThreshold": { + "type": "string", + "description": "The number of consecutive successful pings before considering the VM as healthy (between `2` and `10` both included).\n" + }, + "path": { + "type": "string", + "description": "If you use the HTTP or HTTPS protocols, the ping path.\n" + }, + "port": { + "type": "string", + "description": "The port number (between `1` and `65535`, both included).\n" + }, + "protocol": { + "type": "string", + "description": "The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n" + }, + "timeout": { + "type": "string", + "description": "The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between `2` and `60` both included).\n" + }, + "unhealthyThreshold": { + "type": "string", + "description": "The number of consecutive failed pings before considering the VM as unhealthy (between `2` and `10` both included).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "checkInterval", + "healthyThreshold", + "path", + "port", + "protocol", + "timeout", + "unhealthyThreshold" + ] + } + } + }, + "outscale:index/LoadBalancerPolicyListener:LoadBalancerPolicyListener": { + "properties": { + "backendPort": { + "type": "integer", + "description": "The port on which the back-end VM is listening (between `1` and `65535`, both included).\n" + }, + "backendProtocol": { + "type": "string", + "description": "The protocol for routing traffic to back-end VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n" + }, + "loadBalancerPort": { + "type": "integer", + "description": "The port on which the load balancer is listening (between `1` and `65535`, 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", + "language": { + "nodejs": { + "requiredOutputs": [ + "backendPort", + "backendProtocol", + "loadBalancerPort", + "loadBalancerProtocol", + "policyNames", + "serverCertificateId" + ] + } + } + }, + "outscale:index/LoadBalancerPolicyLoadBalancerStickyCookiePolicy:LoadBalancerPolicyLoadBalancerStickyCookiePolicy": { + "properties": { + "policyName": { + "type": "string", + "description": "The name of the policy. This name must be unique and consist of alphanumeric characters and dashes (-).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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" + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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/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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "accountId", + "ipRange", + "netId" + ] + } + } + }, + "outscale:index/NetPeeringAcceptionAccepterNet:NetPeeringAcceptionAccepterNet": { + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "accountId", + "ipRange", + "netId" + ] + } + } + }, + "outscale:index/NetPeeringAcceptionSourceNet:NetPeeringAcceptionSourceNet": { + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "accountId", + "ipRange", + "netId" + ] + } + } + }, + "outscale:index/NetPeeringAcceptionState:NetPeeringAcceptionState": { + "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` \\| `active` \\| `rejected` \\| `failed` \\| `expired` \\| `deleted`).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "message", + "name" + ] + } + } + }, + "outscale:index/NetPeeringAcceptionTag:NetPeeringAcceptionTag": { + "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/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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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` \\| `active` \\| `rejected` \\| `failed` \\| `expired` \\| `deleted`).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "outscale:index/NicLinkNic:NicLinkNic": { + "properties": { + "deleteOnVmDeletion": { + "type": "string", + "description": "If true, the NIC is deleted when the VM is terminated.\n" + }, + "deviceNumber": { + "type": "integer", + "description": "The device index for the NIC attachment (between `1` and `7`, both included).\n" + }, + "linkNicId": { + "type": "string", + "description": "The ID of the NIC to attach.\n" + }, + "state": { + "type": "string", + "description": "The state of the NIC (`available` \\| `attaching` \\| `in-use` \\| `detaching`).\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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "linkPublicIpId", + "publicDnsName", + "publicIp", + "publicIpAccountId", + "publicIpId" + ] + } + } + }, + "outscale:index/NicPrivateIp:NicPrivateIp": { + "properties": { + "isPrimary": { + "type": "boolean", + "description": "If true, the IP is the primary private IP of the NIC.\n" + }, + "linkPublicIp": { + "$ref": "#/types/outscale:index/NicPrivateIpLinkPublicIp: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", + "linkPublicIp", + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "linkPublicIpId", + "publicDnsName", + "publicIp", + "publicIpAccountId", + "publicIpId" + ] + } + } + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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/OutboundRuleRule:OutboundRuleRule": { + "properties": { + "fromPortRange": { + "type": "integer", + "willReplaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "willReplaceOnChanges": true + }, + "ipRanges": { + "type": "array", + "items": { + "type": "string" + }, + "willReplaceOnChanges": true + }, + "securityGroupsMembers": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/OutboundRuleRuleSecurityGroupsMember:OutboundRuleRuleSecurityGroupsMember" + } + }, + "serviceIds": { + "type": "array", + "items": { + "type": "string" + }, + "willReplaceOnChanges": true + }, + "toPortRange": { + "type": "integer", + "willReplaceOnChanges": true + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "ipProtocol", + "securityGroupsMembers" + ] + } + } + }, + "outscale:index/OutboundRuleRuleSecurityGroupsMember:OutboundRuleRuleSecurityGroupsMember": { + "properties": { + "accountId": { + "type": "string", + "willReplaceOnChanges": true + }, + "securityGroupId": { + "type": "string", + "willReplaceOnChanges": true + }, + "securityGroupName": { + "type": "string", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outscale:index/ProviderEndpoint:ProviderEndpoint": { + "properties": { + "api": { + "type": "string" + } + }, + "type": "object" + }, + "outscale:index/PublicIpLinkTag:PublicIpLinkTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "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/RouteTableLinkRouteTable:RouteTableLinkRouteTable": { + "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" + }, + "routeTableId": { + "type": "string", + "description": "The ID of the route table.\n" + }, + "routeTableToSubnetLinkId": { + "type": "string" + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "linkRouteTableId", + "main", + "routeTableId", + "routeTableToSubnetLinkId", + "subnetId" + ] + } + } + }, + "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 `active`).\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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "outscale:index/SecurityGroupInboundRule:SecurityGroupInboundRule": { + "properties": { + "fromPortRange": { + "type": "integer", + "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 (`tcp`, `udp`, `icmp`, 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": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } + }, + "description": "Information about one or more members of a security group.\n" + }, + "toPortRange": { + "type": "integer", + "description": "The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "fromPortRange", + "ipProtocol", + "ipRanges", + "toPortRange" + ] + } + } + }, + "outscale:index/SecurityGroupOutboundRule:SecurityGroupOutboundRule": { + "properties": { + "fromPortRange": { + "type": "integer", + "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 (`tcp`, `udp`, `icmp`, 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": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } + }, + "description": "Information about one or more members of a security group.\n" + }, + "toPortRange": { + "type": "integer", + "description": "The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "fromPortRange", + "ipProtocol", + "ipRanges", + "toPortRange" + ] + } + } + }, + "outscale:index/SecurityGroupRuleRule:SecurityGroupRuleRule": { + "properties": { + "fromPortRange": { + "type": "integer", + "description": "The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n", + "willReplaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "description": "The IP protocol name (`tcp`, `udp`, `icmp`, 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", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "securityGroupsMembers": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SecurityGroupRuleRuleSecurityGroupsMember:SecurityGroupRuleRuleSecurityGroupsMember" + }, + "description": "Information about one or more members of a security group.\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", + "willReplaceOnChanges": true + }, + "toPortRange": { + "type": "integer", + "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 `rules` parameter and its subparameters.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "ipProtocol", + "securityGroupsMembers" + ] + } + } + }, + "outscale:index/SecurityGroupRuleRuleSecurityGroupsMember:SecurityGroupRuleRuleSecurityGroupsMember": { + "properties": { + "accountId": { + "type": "string", + "description": "The account ID of a user.\n", + "willReplaceOnChanges": true + }, + "securityGroupId": { + "type": "string", + "description": "The ID of the security group for which you want to create a rule.\n", + "willReplaceOnChanges": true + }, + "securityGroupName": { + "type": "string", + "description": "The name of the security group.\n", + "willReplaceOnChanges": true + } + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "outscale:index/SnapshotAttributesPermissionsToCreateVolumeAdditions:SnapshotAttributesPermissionsToCreateVolumeAdditions": { + "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/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/SnapshotExportTaskOsuExport:SnapshotExportTaskOsuExport": { + "properties": { + "diskImageFormat": { + "type": "string", + "description": "The format of the export disk (`qcow2` \\| `raw`).\n", + "willReplaceOnChanges": true + }, + "osuApiKeys": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotExportTaskOsuExportOsuApiKey:SnapshotExportTaskOsuExportOsuApiKey" + }, + "description": "Information about the OOS API key.\n", + "willReplaceOnChanges": true + }, + "osuBucket": { + "type": "string", + "description": "The name of the OOS bucket where you want to export the object.\n", + "willReplaceOnChanges": true + }, + "osuPrefix": { + "type": "string", + "description": "The prefix for the key of the OOS object.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "secretKey": { + "type": "string", + "description": "The secret key of the OOS account that enables you to access the bucket.\n", + "willReplaceOnChanges": true + } + }, + "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/SnapshotPermissionsToCreateVolume:SnapshotPermissionsToCreateVolume": { + "properties": { + "accountId": { + "type": "string", + "description": "The account ID of the owner of the snapshot.\n" + }, + "globalPermission": { + "type": "boolean", + "description": "If true, the resource is public. If false, the resource is private.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "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/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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "outscale:index/TagTag:TagTag": { + "properties": { + "key": { + "type": "string" + }, + "resourceId": { + "type": "string" + }, + "resourceType": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "resourceId", + "resourceType", + "value" + ] + } + } + }, + "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 (`attaching` \\| `attached` \\| `detaching` \\| `detached`).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "netId", + "state" + ] + } + } + }, + "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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "netId", + "state" + ] + } + } + }, + "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/VmBlockDeviceMapping:VmBlockDeviceMapping": { + "properties": { + "bsu": { + "$ref": "#/types/outscale:index/VmBlockDeviceMappingBsu:VmBlockDeviceMappingBsu", + "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 `b` and `z`, and the second `X` is a letter between `a` and `z`).\n", + "willReplaceOnChanges": true + }, + "noDevice": { + "type": "string", + "description": "Removes the device which is included in the block device mapping of the OMI.\n", + "willReplaceOnChanges": true + }, + "virtualDeviceName": { + "type": "string", + "description": "The name of the virtual device (`ephemeralN`).\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "bsu" + ] + } + } + }, + "outscale:index/VmBlockDeviceMappingBsu:VmBlockDeviceMappingBsu": { + "properties": { + "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" + }, + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS). This parameter must be specified only if you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` with a maximum performance ratio of 300 IOPS per gibibyte.\n", + "willReplaceOnChanges": true + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot used to create the volume.\n", + "willReplaceOnChanges": true + }, + "volumeSize": { + "type": "integer", + "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", + "willReplaceOnChanges": true + }, + "volumeType": { + "type": "string", + "description": "The type of the volume (`standard` \\| `io1` \\| `gp2`). If not specified in the request, a `standard` 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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outscale:index/VmBlockDeviceMappingsCreated:VmBlockDeviceMappingsCreated": { + "properties": { + "bsu": { + "$ref": "#/types/outscale:index/VmBlockDeviceMappingsCreatedBsu:VmBlockDeviceMappingsCreatedBsu", + "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 `b` and `z`, and the second `X` is a letter between `a` and `z`).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "bsu" + ] + } + } + }, + "outscale:index/VmBlockDeviceMappingsCreatedBsu:VmBlockDeviceMappingsCreatedBsu": { + "properties": { + "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" + }, + "linkDate": { + "type": "string", + "description": "The time and date of attachment of the volume to the VM.\n" + }, + "state": { + "type": "integer", + "description": "The state of the VM (`running` | `stopped`). If set to `stopped`, the VM is stopped regardless of the value of the `vm_initiated_shutdown_behavior` argument.\n" + }, + "volumeId": { + "type": "number", + "description": "The ID of the volume.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "deleteOnVmDeletion", + "linkDate", + "state", + "volumeId" + ] + } + } + }, + "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", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description of the NIC, if you are creating a NIC when creating the VM.\n", + "willReplaceOnChanges": true + }, + "deviceNumber": { + "type": "integer", + "description": "The index of the VM device for the NIC attachment (between `0` and `7`, both included). This parameter is required if you create a NIC when creating the VM.\n", + "willReplaceOnChanges": true + }, + "isSourceDestChecked": { + "type": "boolean", + "description": "(Net only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "linkNic": { + "$ref": "#/types/outscale:index/VmNicLinkNic:VmNicLinkNic", + "description": "Information about the network interface card (NIC).\n" + }, + "linkPublicIps": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmNicLinkPublicIp: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", + "willReplaceOnChanges": true + }, + "privateDnsName": { + "type": "string", + "description": "The name of the private DNS.\n" + }, + "privateIps": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmNicPrivateIp:VmNicPrivateIp" + }, + "description": "One or more private IPs of the VM.\n", + "willReplaceOnChanges": true + }, + "secondaryPrivateIpCount": { + "type": "integer", + "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 `private_ips` parameter.\n", + "willReplaceOnChanges": true + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of security group for the VMs.\n", + "willReplaceOnChanges": true + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmNicSecurityGroup:VmNicSecurityGroup" + }, + "description": "One or more security groups associated with the VM.\n" + }, + "state": { + "type": "string", + "description": "The state of the VM (`running` | `stopped`). If set to `stopped`, the VM is stopped regardless of the value of the `vm_initiated_shutdown_behavior` 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 `nics` parameter.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "deviceNumber" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "accountId", + "deleteOnVmDeletion", + "description", + "deviceNumber", + "isSourceDestChecked", + "linkNic", + "linkPublicIps", + "macAddress", + "netId", + "nicId", + "privateDnsName", + "privateIps", + "secondaryPrivateIpCount", + "securityGroups", + "state", + "subnetId" + ] + } + } + }, + "outscale:index/VmNicLinkNic:VmNicLinkNic": { + "properties": { + "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" + }, + "deviceNumber": { + "type": "string", + "description": "The index of the VM device for the NIC attachment (between `0` and `7`, both included). This parameter is required if you create a NIC when creating the VM.\n" + }, + "linkNicId": { + "type": "string", + "description": "The ID of the NIC to attach.\n" + }, + "state": { + "type": "string", + "description": "The state of the VM (`running` | `stopped`). If set to `stopped`, the VM is stopped regardless of the value of the `vm_initiated_shutdown_behavior` argument.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "willReplaceOnChanges": true + }, + "linkPublicIps": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmNicPrivateIpLinkPublicIp: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", + "willReplaceOnChanges": true + } + }, + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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/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 (`creating` \\| `available` \\| `in-use` \\| `updating` \\| `deleting` \\| `error`).\n" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM.\n" + }, + "volumeId": { + "type": "string", + "description": "The ID of the volume.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "key", + "value" + ] + } + } + }, + "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 `static`).\n" + }, + "state": { + "type": "string", + "description": "The state of the IPSEC tunnel (`UP` \\| `DOWN`).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "destinationIpRange", + "routeType", + "state" + ] + } + } + }, + "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/VpnConnectionVgwTelemetry:VpnConnectionVgwTelemetry": { + "properties": { + "acceptedRouteCount": { + "type": "integer", + "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", + "language": { + "nodejs": { + "requiredOutputs": [ + "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) of creation of the access key.\n" + }, + "expirationDate": { + "type": "string", + "description": "The date (UTC) at which the access key expires.\n" + }, + "lastModificationDate": { + "type": "string", + "description": "The date and time (UTC) of the last modification of the access key.\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).\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 addresses or CIDR blocks (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": "integer", + "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 (only `ipsec.1` is supported).\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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getClientGatewaysClientGatewayTag:getClientGatewaysClientGatewayTag" + }, + "description": "The key/value combinations of the tags associated with the client gateways, in the following format: `TAGKEY=TAGVALUE`.\n" + } + }, + "type": "object", + "required": [ + "bgpAsn", + "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, lists all default DHCP options set. If false, lists all non-default DHCP options set.\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": "The IPs of the domain name servers used for the DHCP options sets.\n" + }, + "logServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPs of the log servers used for the DHCP options sets.\n" + }, + "ntpServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPs of the Network Time Protocol (NTP) servers used for the DHCP options sets.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getDhcpOptionsDhcpOptionTag:getDhcpOptionsDhcpOptionTag" + }, + "description": "The key/value combinations of the tags associated with the DHCP options sets, in the following format: `TAGKEY=TAGVALUE`.\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/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 generations of VMs that the fGPU is compatible with.\n" + }, + "maxCpu": { + "type": "integer", + "description": "The maximum number of VM vCores that the fGPU is compatible with.\n" + }, + "maxRam": { + "type": "integer", + "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": "integer", + "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": "Indicates whether the fGPU is deleted when terminating the VM.\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 (`allocated` \\| `attaching` \\| `attached` \\| `detaching`).\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/getImageBlockDeviceMappingBsus: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 `b` and `z`, and the second `X` is a letter between `a` and `z`).\n" + }, + "virtualDeviceName": { + "type": "string", + "description": "The name of the virtual device (`ephemeralN`).\n" + } + }, + "type": "object", + "required": [ + "bsus", + "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": "integer", + "description": "The number of I/O operations per second (IOPS). This parameter must be specified only if you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` 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": "integer", + "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 (`standard` \\| `io1` \\| `gp2`). If not specified in the request, a `standard` 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 (`qcow2` \\| `raw`).\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/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/getImageExportTasksImageExportTaskOsuExport:getImageExportTasksImageExportTaskOsuExport" + }, + "description": "Information about the OMI export task.\n" + }, + "progress": { + "type": "integer", + "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` \\| `pending` \\| `completed` \\| `failed` \\| `cancelled`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageExportTasksImageExportTaskTag: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 (`qcow2` \\| `raw`).\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/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": "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 (by default, `i386`).\n" + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImagesImageBlockDeviceMapping:getImagesImageBlockDeviceMapping" + }, + "description": "One or more block device mappings.\n" + }, + "creationDate": { + "type": "string", + "description": "The date and time of creation of the OMI.\n" + }, + "description": { + "type": "string", + "description": "The description of the OMI.\n" + }, + "fileLocation": { + "type": "string", + "description": "The location of the bucket where the OMI files are stored.\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/getImagesImagePermissionsToLaunch:getImagesImagePermissionsToLaunch" + }, + "description": "Information about the users who have permissions for the resource.\n" + }, + "productCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The product code associated with the OMI (`0001` Linux/Unix \\| `0002` Windows \\| `0004` Linux/Oracle \\| `0005` Windows 10).\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 `bsu`).\n" + }, + "state": { + "type": "string", + "description": "The state of the OMI (`pending` \\| `available` \\| `failed`).\n" + }, + "stateComments": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImagesImageStateComment:getImagesImageStateComment" + }, + "description": "Information about the change of state.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImagesImageTag:getImagesImageTag" + }, + "description": "The key/value combinations of the tags associated with the OMIs, in the following format: `TAGKEY=TAGVALUE`.\n" + } + }, + "type": "object", + "required": [ + "accountAlias", + "accountId", + "architecture", + "blockDeviceMappings", + "creationDate", + "description", + "fileLocation", + "imageId", + "imageName", + "imageType", + "permissionsToLaunches", + "productCodes", + "rootDeviceName", + "rootDeviceType", + "state", + "stateComments", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "outscale:index/getImagesImageBlockDeviceMapping:getImagesImageBlockDeviceMapping": { + "properties": { + "bsus": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImagesImageBlockDeviceMappingBsus: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 `b` and `z`, and the second `X` is a letter between `a` and `z`).\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": "integer", + "description": "The number of I/O operations per second (IOPS). This parameter must be specified only if you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` 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": "integer", + "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 (`standard` \\| `io1` \\| `gp2`). If not specified in the request, a `standard` 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": "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 `available`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getInternetServicesInternetServiceTag:getInternetServicesInternetServiceTag" + }, + "description": "The key/value combinations of the tags associated with the Internet services, in the following format: `TAGKEY=TAGVALUE`.\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/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" + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair.\n" + } + }, + "type": "object", + "required": [ + "keypairFingerprint", + "keypairName" + ], + "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 `osu_bucket_name` 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 `root` level of your bucket).\n" + }, + "publicationInterval": { + "type": "integer", + "description": "The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either `5` or `60` (by default, `60`).\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": "string", + "description": "The number of seconds between two pings (between `5` and `600` both included).\n" + }, + "checkedVm": { + "type": "string" + }, + "healthyThreshold": { + "type": "string", + "description": "The number of consecutive successful pings before considering the VM as healthy (between `2` and `10` both included).\n" + }, + "timeout": { + "type": "string", + "description": "The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between `2` and `60` both included).\n" + }, + "unhealthyThreshold": { + "type": "string", + "description": "The number of consecutive failed pings before considering the VM as unhealthy (between `2` and `10` both included).\n" + } + }, + "type": "object", + "required": [ + "checkInterval", + "checkedVm", + "healthyThreshold", + "timeout", + "unhealthyThreshold" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "outscale:index/getLoadBalancerListener:getLoadBalancerListener": { + "properties": { + "backendPort": { + "type": "integer", + "description": "The port on which the back-end VM is listening (between `1` and `65535`, both included).\n" + }, + "backendProtocol": { + "type": "string", + "description": "The protocol for routing traffic to back-end VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n" + }, + "loadBalancerPort": { + "type": "integer", + "description": "The port on which the load balancer is listening (between `1` and `65535`, 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/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 back-end VM.\n" + }, + "state": { + "type": "string", + "description": "The state of the back-end 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 back-end 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": { + "accessLog": { + "$ref": "#/types/outscale:index/getLoadBalancersLoadBalancerAccessLog:getLoadBalancersLoadBalancerAccessLog", + "description": "Information about access logs.\n" + }, + "applicationStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancersLoadBalancerApplicationStickyCookiePolicy:getLoadBalancersLoadBalancerApplicationStickyCookiePolicy" + }, + "description": "The stickiness policies defined for the load balancer.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancersLoadBalancerBackendVmId:getLoadBalancersLoadBalancerBackendVmId" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n" + }, + "dnsName": { + "type": "string", + "description": "The DNS name of the load balancer.\n" + }, + "healthCheck": { + "$ref": "#/types/outscale:index/getLoadBalancersLoadBalancerHealthCheck:getLoadBalancersLoadBalancerHealthCheck", + "description": "Information about the health check configuration.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancersLoadBalancerListener: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/getLoadBalancersLoadBalancerLoadBalancerStickyCookiePolicy: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 `load_balancer_type` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf `load_balancer_type` is `internal`, 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" + }, + "sourceSecurityGroup": { + "$ref": "#/types/outscale:index/getLoadBalancersLoadBalancerSourceSecurityGroup: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/getLoadBalancersLoadBalancerTag:getLoadBalancersLoadBalancerTag" + }, + "description": "One or more tags associated with the load balancer.\n" + } + }, + "type": "object", + "required": [ + "accessLog", + "applicationStickyCookiePolicies", + "backendVmIds", + "dnsName", + "healthCheck", + "listeners", + "loadBalancerName", + "loadBalancerStickyCookiePolicies", + "loadBalancerType", + "netId", + "publicIp", + "securedCookies", + "securityGroups", + "sourceSecurityGroup", + "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 `osu_bucket_name` 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 `root` level of your bucket).\n" + }, + "publicationInterval": { + "type": "integer", + "description": "The time interval for the publication of access logs in the OOS bucket, in minutes. This value can be either `5` or `60` (by default, `60`).\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/getLoadBalancersLoadBalancerBackendVmId:getLoadBalancersLoadBalancerBackendVmId": { + "properties": { + "vmId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "vmId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "outscale:index/getLoadBalancersLoadBalancerHealthCheck:getLoadBalancersLoadBalancerHealthCheck": { + "properties": { + "checkInterval": { + "type": "string", + "description": "The number of seconds between two pings (between `5` and `600` both included).\n" + }, + "checkedVm": { + "type": "string" + }, + "healthyThreshold": { + "type": "string", + "description": "The number of consecutive successful pings before considering the VM as healthy (between `2` and `10` both included).\n" + }, + "port": { + "type": "integer", + "description": "The port number (between `1` and `65535`, both included).\n" + }, + "protocol": { + "type": "string", + "description": "The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n" + }, + "timeout": { + "type": "string", + "description": "The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between `2` and `60` both included).\n" + }, + "unhealthyThreshold": { + "type": "string", + "description": "The number of consecutive failed pings before considering the VM as unhealthy (between `2` and `10` both included).\n" + } + }, + "type": "object", + "required": [ + "checkInterval", + "checkedVm", + "healthyThreshold", + "port", + "protocol", + "timeout", + "unhealthyThreshold" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "outscale:index/getLoadBalancersLoadBalancerListener:getLoadBalancersLoadBalancerListener": { + "properties": { + "backendPort": { + "type": "integer", + "description": "The port on which the back-end VM is listening (between `1` and `65535`, both included).\n" + }, + "backendProtocol": { + "type": "string", + "description": "The protocol for routing traffic to back-end VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n" + }, + "loadBalancerPort": { + "type": "integer", + "description": "The port on which the load balancer is listening (between `1` and `65535`, 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/getNatServicesNatServicePublicIp: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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\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/getNatServicesNatServiceTag:getNatServicesNatServiceTag" + }, + "description": "The key/value combinations of the tags associated with the NAT services, in the following format: `TAGKEY=TAGVALUE`.\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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointsNetAccessPointTag:getNetAccessPointsNetAccessPointTag" + }, + "description": "The key/value combinations of the tags associated with the Net access points, in the following format: `TAGKEY=TAGVALUE`.\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` \\| `active` \\| `rejected` \\| `failed` \\| `expired` \\| `deleted`).\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` \\| `active` \\| `rejected` \\| `failed` \\| `expired` \\| `deleted`).\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` \\| `active` \\| `rejected` \\| `failed` \\| `expired` \\| `deleted`).\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "name", + "values" + ] + }, + "outscale:index/getNetPeeringsNetPeering:getNetPeeringsNetPeering": { + "properties": { + "accepterNet": { + "$ref": "#/types/outscale:index/getNetPeeringsNetPeeringAccepterNet:getNetPeeringsNetPeeringAccepterNet", + "description": "Information about the accepter Net.\n" + }, + "netPeeringId": { + "type": "string", + "description": "The ID of the Net peering.\n" + }, + "sourceNet": { + "$ref": "#/types/outscale:index/getNetPeeringsNetPeeringSourceNet:getNetPeeringsNetPeeringSourceNet", + "description": "Information about the source Net.\n" + }, + "state": { + "$ref": "#/types/outscale:index/getNetPeeringsNetPeeringState:getNetPeeringsNetPeeringState", + "description": "Information about the state of the Net peering.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetPeeringsNetPeeringTag:getNetPeeringsNetPeeringTag" + }, + "description": "The key/value combinations of the tags associated with the Net peerings, in the following format: `TAGKEY=TAGVALUE`.\n" + } + }, + "type": "object", + "required": [ + "accepterNet", + "netPeeringId", + "sourceNet", + "state", + "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": { + "code": { + "type": "string" + }, + "message": { + "type": "string", + "description": "Additional information about the state of the Net peering.\n" + } + }, + "type": "object", + "required": [ + "code", + "message" + ], + "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 `default` 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 (`pending` \\| `available` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetsNetTag:getNetsNetTag" + }, + "description": "The key/value combinations of the tags associated with the Nets, in the following format: `TAGKEY=TAGVALUE`.\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": "integer", + "description": "The device index for the NIC attachment (between `1` and `7`, both included).\n" + }, + "linkNicId": { + "type": "string", + "description": "The ID of the NIC to attach.\n" + }, + "state": { + "type": "string", + "description": "The state of the NIC (`available` \\| `attaching` \\| `in-use` \\| `detaching`).\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" + }, + "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", + "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" + }, + "linkPublicIp": { + "$ref": "#/types/outscale:index/getNicPrivateIpLinkPublicIp: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", + "linkPublicIp", + "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. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "linkNic": { + "$ref": "#/types/outscale:index/getNicsNicLinkNic:getNicsNicLinkNic", + "description": "Information about the NIC attachment.\n" + }, + "linkPublicIp": { + "$ref": "#/types/outscale:index/getNicsNicLinkPublicIp: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/getNicsNicPrivateIp:getNicsNicPrivateIp" + }, + "description": "The private IPs of the NIC.\n" + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNicsNicSecurityGroup:getNicsNicSecurityGroup" + }, + "description": "One or more IDs of security groups for the NIC.\n" + }, + "state": { + "type": "string", + "description": "The state of the NIC (`available` \\| `attaching` \\| `in-use` \\| `detaching`).\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/getNicsNicTag:getNicsNicTag" + }, + "description": "The key/value combinations of the tags associated with the NICs, in the following format: `TAGKEY=TAGVALUE`.\n" + } + }, + "type": "object", + "required": [ + "accountId", + "description", + "isSourceDestChecked", + "linkNic", + "linkPublicIp", + "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": "integer", + "description": "The device index for the NIC attachment (between `1` and `7`, both included).\n" + }, + "nicLinkId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the NIC (`available` \\| `attaching` \\| `in-use` \\| `detaching`).\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", + "nicLinkId", + "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" + }, + "linkPublicIp": { + "$ref": "#/types/outscale:index/getNicsNicPrivateIpLinkPublicIp: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", + "linkPublicIp", + "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/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/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/getPublicIpsPublicIpTag:getPublicIpsPublicIpTag" + }, + "description": "The key/value combinations of the tags associated with the public IPs, in the following format: `TAGKEY=TAGVALUE`.\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/getPulicCatalogCatalog:getPulicCatalogCatalog": { + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getPulicCatalogCatalogEntry:getPulicCatalogCatalogEntry" + } + } + }, + "type": "object", + "required": [ + "entries" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "outscale:index/getPulicCatalogCatalogEntry:getPulicCatalogCatalogEntry": { + "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/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": "integer", + "description": "The maximum value of the quota for the OUTSCALE user account (if there is no limit, `0`).\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, `global` if it is not.\n" + }, + "shortDescription": { + "type": "string", + "description": "The description of the quota.\n" + }, + "usedValue": { + "type": "integer", + "description": "The limit value currently used by the OUTSCALE user 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 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.\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 `active`).\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/getRouteTablesRouteTableLinkRouteTable: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/getRouteTablesRouteTableRoutePropagatingVirtualGateway: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/getRouteTablesRouteTableRoute:getRouteTablesRouteTableRoute" + }, + "description": "One or more routes in the route table.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRouteTablesRouteTableTag:getRouteTablesRouteTableTag" + }, + "description": "The key/value combinations of the tags associated with the route tables, in the following format: `TAGKEY=TAGVALUE`.\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 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.\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 `active`).\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": "integer", + "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 (`tcp`, `udp`, `icmp`, 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/getSecurityGroupInboundRuleSecurityGroupsMember:getSecurityGroupInboundRuleSecurityGroupsMember" + }, + "description": "Information about one or more members of a security group.\n" + }, + "toPortRange": { + "type": "integer", + "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 of a user.\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": "integer", + "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 (`tcp`, `udp`, `icmp`, 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/getSecurityGroupOutboundRuleSecurityGroupsMember:getSecurityGroupOutboundRuleSecurityGroupsMember" + }, + "description": "Information about one or more members of a security group.\n" + }, + "toPortRange": { + "type": "integer", + "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 of a user.\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 of a user.\n" + }, + "description": { + "type": "string", + "description": "The description of the security group.\n" + }, + "inboundRules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSecurityGroupsSecurityGroupInboundRule: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/getSecurityGroupsSecurityGroupOutboundRule: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/getSecurityGroupsSecurityGroupTag:getSecurityGroupsSecurityGroupTag" + }, + "description": "The key/value combinations of the tags associated with the security groups, in the following format: `TAGKEY=TAGVALUE`.\n" + } + }, + "type": "object", + "required": [ + "accountId", + "description", + "inboundRules", + "netId", + "outboundRules", + "securityGroupId", + "securityGroupName", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "outscale:index/getSecurityGroupsSecurityGroupInboundRule:getSecurityGroupsSecurityGroupInboundRule": { + "properties": { + "fromPortRange": { + "type": "integer", + "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 (`tcp`, `udp`, `icmp`, 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/getSecurityGroupsSecurityGroupInboundRuleSecurityGroupsMember:getSecurityGroupsSecurityGroupInboundRuleSecurityGroupsMember" + }, + "description": "Information about one or more members of a security group.\n" + }, + "toPortRange": { + "type": "integer", + "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 of a user.\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": "integer", + "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 (`tcp`, `udp`, `icmp`, 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/getSecurityGroupsSecurityGroupOutboundRuleSecurityGroupsMember:getSecurityGroupsSecurityGroupOutboundRuleSecurityGroupsMember" + }, + "description": "Information about one or more members of a security group.\n" + }, + "toPortRange": { + "type": "integer", + "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 of a user.\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 at 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 at 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 (`qcow2` \\| `raw`).\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/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/getSnapshotExportTasksSnapshotExportTaskOsuExport:getSnapshotExportTasksSnapshotExportTaskOsuExport" + }, + "description": "Information about the snapshot export task.\n" + }, + "progress": { + "type": "integer", + "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 (`pending` \\| `active` \\| `completed` \\| `failed`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotExportTasksSnapshotExportTaskTag: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 (`qcow2` \\| `raw`).\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/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": "The account IDs of the owners of the snapshots.\n" + }, + "globalPermission": { + "type": "boolean", + "description": "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 of creation of the snapshot.\n" + }, + "description": { + "type": "string", + "description": "The description of the snapshot.\n" + }, + "permissionsToCreateVolumes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotsSnapshotPermissionsToCreateVolume:getSnapshotsSnapshotPermissionsToCreateVolume" + }, + "description": "Information about the users who have permissions for the resource.\n" + }, + "progress": { + "type": "integer", + "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` \\| `completed` \\| `error`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotsSnapshotTag:getSnapshotsSnapshotTag" + }, + "description": "The key/value combinations of the tags associated with the snapshots, in the following format: `TAGKEY=TAGVALUE`.\n" + }, + "volumeId": { + "type": "string", + "description": "The ID of the volume used to create the snapshot.\n" + }, + "volumeSize": { + "type": "integer", + "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": "The account IDs of the owners of the snapshots.\n" + }, + "globalPermission": { + "type": "boolean", + "description": "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": "integer", + "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 (`pending` \\| `available` \\| `deleted`).\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/getSubnetsSubnetTag:getSubnetsSubnetTag" + }, + "description": "The key/value combinations of the tags associated with the Subnets, in the following format: `TAGKEY=TAGVALUE`.\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 of the Subregion.\n" + }, + "regionName": { + "type": "string", + "description": "The name of the Region containing the Subregion.\n" + }, + "state": { + "type": "string", + "description": "The state of the Subregion (`available` \\| `information` \\| `impaired` \\| `unavailable`).\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/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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\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 (only `ipsec.1` is supported).\n" + }, + "netToVirtualGatewayLinks": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVirtualGatewaysVirtualGatewayNetToVirtualGatewayLink:getVirtualGatewaysVirtualGatewayNetToVirtualGatewayLink" + }, + "description": "The Net to which the virtual gateway is attached.\n" + }, + "state": { + "type": "string", + "description": "The state of the virtual gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVirtualGatewaysVirtualGatewayTag:getVirtualGatewaysVirtualGatewayTag" + }, + "description": "The key/value combinations of the tags associated with the virtual gateways, in the following format: `TAGKEY=TAGVALUE`.\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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\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/getVmBlockDeviceMappingsCreated:getVmBlockDeviceMappingsCreated": { + "properties": { + "bsu": { + "$ref": "#/types/outscale:index/getVmBlockDeviceMappingsCreatedBsu:getVmBlockDeviceMappingsCreatedBsu", + "description": "Information about the created BSU volume.\n" + }, + "deviceName": { + "type": "string", + "description": "The name of the device.\n" + } + }, + "type": "object", + "required": [ + "bsu" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "outscale:index/getVmBlockDeviceMappingsCreatedBsu:getVmBlockDeviceMappingsCreatedBsu": { + "properties": { + "deleteOnVmDeletion": { + "type": "boolean", + "description": "If true, the NIC is deleted when the VM is terminated.\n" + }, + "linkDate": { + "type": "string", + "description": "The time and date of attachment of the volume to the VM.\n" + }, + "state": { + "type": "integer", + "description": "The state of the VM (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\n" + }, + "volumeId": { + "type": "number", + "description": "The ID of the volume.\n" + } + }, + "type": "object", + "required": [ + "deleteOnVmDeletion", + "linkDate", + "state", + "volumeId" + ], + "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": "integer", + "description": "The device index for the NIC attachment (between `1` and `7`, both included).\n" + }, + "isSourceDestChecked": { + "type": "boolean", + "description": "(Net only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "linkNic": { + "$ref": "#/types/outscale:index/getVmNicLinkNic:getVmNicLinkNic", + "description": "Information about the network interface card (NIC).\n" + }, + "linkPublicIps": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmNicLinkPublicIp: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/getVmNicPrivateIp:getVmNicPrivateIp" + }, + "description": "The private IP or IPs of the NIC.\n" + }, + "secondaryPrivateIpCount": { + "type": "integer" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmNicSecurityGroup: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 (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\n" + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet for the VM.\n" + } + }, + "type": "object", + "required": [ + "accountId", + "deleteOnVmDeletion", + "description", + "deviceNumber", + "isSourceDestChecked", + "linkNic", + "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 `1` and `7`, both included).\n" + }, + "linkNicId": { + "type": "string", + "description": "The ID of the NIC to attach.\n" + }, + "state": { + "type": "string", + "description": "The state of the VM (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\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/getVmNicPrivateIpLinkPublicIp: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/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 time for the event.\n" + }, + "notBefore": { + "type": "string", + "description": "The earliest scheduled start time 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/getVmStatesVmStateMaintenanceEvent: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 (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\n" + } + }, + "type": "object", + "required": [ + "maintenanceEvents", + "subregionName", + "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 time for the event.\n" + }, + "notBefore": { + "type": "string", + "description": "The earliest scheduled start time 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": "integer", + "description": "The maximum number of private IPs per network interface card (NIC).\n" + }, + "memorySize": { + "type": "integer", + "description": "The amount of memory, in gibibytes.\n" + }, + "vcoreCount": { + "type": "integer", + "description": "The number of vCores.\n" + }, + "vmTypeName": { + "type": "string", + "description": "The name of the VM type.\n" + }, + "volumeCount": { + "type": "integer", + "description": "The maximum number of ephemeral storage disks.\n" + }, + "volumeSize": { + "type": "integer", + "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": { + "architecture": { + "type": "string", + "description": "The architecture of the VM (`i386` \\| `x86_64`).\n" + }, + "blockDeviceMappingsCreateds": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmsVmBlockDeviceMappingsCreated:getVmsVmBlockDeviceMappingsCreated" + }, + "description": "The block device mapping of the VM.\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 of creation of the VM.\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 (`ovm` \\| `xen`).\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. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair used when launching the VM.\n" + }, + "launchNumber": { + "type": "integer", + "description": "The number for the VM when launching a group of several VMs (for example, `0`, `1`, `2`, 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/getVmsVmNic: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 (`medium` \\| `high` \\| `highest`).\n" + }, + "placementSubregionName": { + "type": "string" + }, + "placementTenancy": { + "type": "string" + }, + "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 code associated with the OMI used to create the VM (`0001` Linux/Unix \\| `0002` Windows \\| `0004` Linux/Oracle \\| `0005` Windows 10).\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/vda1`).\n" + }, + "rootDeviceType": { + "type": "string", + "description": "The type of root device used by the VM (always `bsu`).\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroupNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmsVmSecurityGroup:getVmsVmSecurityGroup" + }, + "description": "One or more security groups associated with the VM.\n" + }, + "state": { + "type": "string", + "description": "The state of the VM (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\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/getVmsVmTag:getVmsVmTag" + }, + "description": "The key/value combinations of the tags associated with the VMs, in the following format: `TAGKEY=TAGVALUE`.\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 `stop`, the VM stops. If set to `restart`, the VM stops then automatically restarts. If set to `terminate`, the VM stops and is deleted.\n" + }, + "vmType": { + "type": "string", + "description": "The type of VM. For more information, see [Instance Types](https://docs.outscale.com/en/userguide/Instance-Types.html).\n" + } + }, + "type": "object", + "required": [ + "architecture", + "blockDeviceMappingsCreateds", + "bsuOptimized", + "clientToken", + "creationDate", + "deletionProtection", + "hypervisor", + "imageId", + "isSourceDestChecked", + "keypairName", + "launchNumber", + "nestedVirtualization", + "netId", + "nics", + "osFamily", + "performance", + "placementSubregionName", + "placementTenancy", + "privateDnsName", + "privateIp", + "productCodes", + "publicDnsName", + "publicIp", + "requestId", + "reservationId", + "rootDeviceName", + "rootDeviceType", + "securityGroups", + "state", + "stateReason", + "subnetId", + "tags", + "userData", + "vmId", + "vmInitiatedShutdownBehavior", + "vmType" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "outscale:index/getVmsVmBlockDeviceMappingsCreated:getVmsVmBlockDeviceMappingsCreated": { + "properties": { + "bsu": { + "$ref": "#/types/outscale:index/getVmsVmBlockDeviceMappingsCreatedBsu:getVmsVmBlockDeviceMappingsCreatedBsu", + "description": "Information about the created BSU volume.\n" + }, + "deviceName": { + "type": "string", + "description": "The name of the device.\n" + } + }, + "type": "object", + "required": [ + "bsu" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "outscale:index/getVmsVmBlockDeviceMappingsCreatedBsu:getVmsVmBlockDeviceMappingsCreatedBsu": { + "properties": { + "deleteOnVmDeletion": { + "type": "boolean", + "description": "If true, the NIC is deleted when the VM is terminated.\n" + }, + "linkDate": { + "type": "string", + "description": "The time and date of attachment of the volume to the VM.\n" + }, + "state": { + "type": "integer", + "description": "The state of the VM (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\n" + }, + "volumeId": { + "type": "number", + "description": "The ID of the volume.\n" + } + }, + "type": "object", + "required": [ + "deleteOnVmDeletion", + "linkDate", + "state", + "volumeId" + ], + "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": "integer", + "description": "The device index for the NIC attachment (between `1` and `7`, both included).\n" + }, + "isSourceDestChecked": { + "type": "boolean", + "description": "(Net only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "linkNic": { + "$ref": "#/types/outscale:index/getVmsVmNicLinkNic:getVmsVmNicLinkNic", + "description": "Information about the network interface card (NIC).\n" + }, + "linkPublicIps": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmsVmNicLinkPublicIp: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/getVmsVmNicPrivateIp:getVmsVmNicPrivateIp" + }, + "description": "The private IP or IPs of the NIC.\n" + }, + "secondaryPrivateIpCount": { + "type": "integer" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmsVmNicSecurityGroup: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 (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\n" + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet for the VM.\n" + } + }, + "type": "object", + "required": [ + "accountId", + "deleteOnVmDeletion", + "description", + "deviceNumber", + "isSourceDestChecked", + "linkNic", + "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 `1` and `7`, both included).\n" + }, + "linkNicId": { + "type": "string", + "description": "The ID of the NIC to attach.\n" + }, + "state": { + "type": "string", + "description": "The state of the VM (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\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/getVmsVmNicPrivateIpLinkPublicIp: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/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 (`creating` \\| `available` \\| `in-use` \\| `updating` \\| `deleting` \\| `error`).\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 of creation of the volume.\n" + }, + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS):\u003cbr /\u003e- For `io1` volumes, the number of provisioned IOPS.\u003cbr /\u003e- For `gp2` volumes, the baseline performance of the volume.\n" + }, + "linkedVolumes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVolumesVolumeLinkedVolume:getVolumesVolumeLinkedVolume" + }, + "description": "Information about your volume attachment.\n" + }, + "size": { + "type": "integer", + "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 (`creating` \\| `available` \\| `in-use` \\| `updating` \\| `deleting` \\| `error`).\n" + }, + "subregionName": { + "type": "string", + "description": "The Subregion in which the volume was created.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVolumesVolumeTag:getVolumesVolumeTag" + }, + "description": "The key/value combinations of the tags associated with the volumes, in the following format: `TAGKEY=TAGVALUE`.\n" + }, + "volumeId": { + "type": "string", + "description": "The ID of the volume.\n" + }, + "volumeType": { + "type": "string", + "description": "The type of the volume (`standard` \\| `gp2` \\| `io1`).\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 (`creating` \\| `available` \\| `in-use` \\| `updating` \\| `deleting` \\| `error`).\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 `static`).\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": "integer", + "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/getVpnConnectionsVpnConnectionRoute: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/getVpnConnectionsVpnConnectionTag:getVpnConnectionsVpnConnectionTag" + }, + "description": "The key/value combinations of the tags associated with the VPN connections, in the following format: `TAGKEY=TAGVALUE`.\n" + }, + "vgwTelemetries": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVpnConnectionsVpnConnectionVgwTelemetry: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", + "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 `static`).\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": "integer", + "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\n" + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ProviderEndpoint:ProviderEndpoint" + } + }, + "region": { + "type": "string", + "description": "The Region for API operations.\n" + }, + "secretKeyId": { + "type": "string", + "description": "The Secret Key ID for API operations.\n" + }, + "x509CertPath": { + "type": "string", + "description": "The path to your x509 cert\n" + }, + "x509KeyPath": { + "type": "string", + "description": "The path to your x509 key\n" + } + }, + "inputProperties": { + "accessKeyId": { + "type": "string", + "description": "The Access Key ID for API operations\n", + "defaultInfo": { + "environment": [ + "OUTSCALE_ACCESSKEYID" + ] + } + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ProviderEndpoint:ProviderEndpoint" + } + }, + "region": { + "type": "string", + "description": "The Region for API operations.\n", + "defaultInfo": { + "environment": [ + "OUTSCALE_REGION" + ] + } + }, + "secretKeyId": { + "type": "string", + "description": "The Secret Key ID for API operations.\n", + "defaultInfo": { + "environment": [ + "OUTSCALE_SECRETKEYID" + ] + } + }, + "x509CertPath": { + "type": "string", + "description": "The path to your x509 cert\n" + }, + "x509KeyPath": { + "type": "string", + "description": "The path to your x509 key\n" + } + } + }, + "resources": { + "outscale:index/accessKey:AccessKey": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst accessKey01 = new outscale.AccessKey(\"accessKey01\", {\n expirationDate: \"2023-01-01\",\n state: \"ACTIVE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\naccess_key01 = outscale.AccessKey(\"accessKey01\",\n expiration_date=\"2023-01-01\",\n state=\"ACTIVE\")\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(\"accessKey01\", new()\n {\n ExpirationDate = \"2023-01-01\",\n State = \"ACTIVE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"accessKey01\", \u0026outscale.AccessKeyArgs{\n\t\t\tExpirationDate: pulumi.String(\"2023-01-01\"),\n\t\t\tState: pulumi.String(\"ACTIVE\"),\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 .expirationDate(\"2023-01-01\")\n .state(\"ACTIVE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n accessKey01:\n type: outscale:AccessKey\n properties:\n expirationDate: 2023-01-01\n state: ACTIVE\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn access key can be imported using its ID. For exampleconsole\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) of creation of the access key.\n" + }, + "expirationDate": { + "type": "string", + "description": "The date and time at which you want the access key to expire, in ISO 8601 format (for example, `2017-06-14` or `2017-06-14T00:00:00Z`). To remove an existing expiration date, use the method without specifying this parameter.\n" + }, + "lastModificationDate": { + "type": "string", + "description": "The date and time (UTC) of the last modification of the access key.\n" + }, + "requestId": { + "type": "string" + }, + "secretKey": { + "type": "string", + "description": "The access key that enables you to send requests.\n" + }, + "state": { + "type": "string", + "description": "The state for the access key (`ACTIVE` | `INACTIVE`).\n" + } + }, + "required": [ + "accessKeyId", + "creationDate", + "lastModificationDate", + "requestId", + "secretKey" + ], + "inputProperties": { + "expirationDate": { + "type": "string", + "description": "The date and time at which you want the access key to expire, in ISO 8601 format (for example, `2017-06-14` or `2017-06-14T00:00:00Z`). 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" + } + }, + "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) of creation of the access key.\n" + }, + "expirationDate": { + "type": "string", + "description": "The date and time at which you want the access key to expire, in ISO 8601 format (for example, `2017-06-14` or `2017-06-14T00:00:00Z`). To remove an existing expiration date, use the method without specifying this parameter.\n" + }, + "lastModificationDate": { + "type": "string", + "description": "The date and time (UTC) of the last modification of the access key.\n" + }, + "requestId": { + "type": "string" + }, + "secretKey": { + "type": "string", + "description": "The access key that enables you to send requests.\n" + }, + "state": { + "type": "string", + "description": "The state for the access key (`ACTIVE` | `INACTIVE`).\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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Require expiration dates for your access keys\n\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/outscale/pulumi-outscale/sdk/go/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.Int(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)\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\n # 1 year\n requireTrustedEnv: false\n```\n{{% /example %}}\n{{% example %}}\n### Activate a trusted session\n\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/outscale/pulumi-outscale/sdk/go/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.Int(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)\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\n # 100 years\n requireTrustedEnv: true\n```\n{{% /example %}}\n{{% example %}}\n### Deactivate a trusted session\n\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/outscale/pulumi-outscale/sdk/go/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.Int(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)\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{{% /example %}}\n{{% /examples %}}", + "properties": { + "maxAccessKeyExpirationSeconds": { + "type": "integer", + "description": "The maximum possible lifetime for your access keys, in seconds (between `0` and `3153600000`, 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 `max_access_key_expiration_seconds` parameter with a value greater than `0`.\n" + } + }, + "required": [ + "maxAccessKeyExpirationSeconds", + "requestId", + "requireTrustedEnv" + ], + "inputProperties": { + "maxAccessKeyExpirationSeconds": { + "type": "integer", + "description": "The maximum possible lifetime for your access keys, in seconds (between `0` and `3153600000`, 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 `max_access_key_expiration_seconds` parameter with a value greater than `0`.\n" + } + }, + "requiredInputs": [ + "maxAccessKeyExpirationSeconds", + "requireTrustedEnv" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ApiAccessPolicy resources.\n", + "properties": { + "maxAccessKeyExpirationSeconds": { + "type": "integer", + "description": "The maximum possible lifetime for your access keys, in seconds (between `0` and `3153600000`, 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 `max_access_key_expiration_seconds` parameter with a value greater than `0`.\n" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create an API access rule based on IPs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst apiAccessRule01 = new outscale.ApiAccessRule(\"apiAccessRule01\", {\n description: \"Basic API Access Rule from Terraform\",\n ipRanges: [\n \"192.0.2.0\",\n \"192.0.2.0/16\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\napi_access_rule01 = outscale.ApiAccessRule(\"apiAccessRule01\",\n description=\"Basic API Access Rule from Terraform\",\n ip_ranges=[\n \"192.0.2.0\",\n \"192.0.2.0/16\",\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 = new Outscale.ApiAccessRule(\"apiAccessRule01\", new()\n {\n Description = \"Basic API Access Rule from Terraform\",\n IpRanges = new[]\n {\n \"192.0.2.0\",\n \"192.0.2.0/16\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"apiAccessRule01\", \u0026outscale.ApiAccessRuleArgs{\n\t\t\tDescription: pulumi.String(\"Basic API Access Rule from Terraform\"),\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})\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 .description(\"Basic API Access Rule from Terraform\")\n .ipRanges( \n \"192.0.2.0\",\n \"192.0.2.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apiAccessRule01:\n type: outscale:ApiAccessRule\n properties:\n description: Basic API Access Rule from Terraform\n ipRanges:\n - 192.0.2.0\n - 192.0.2.0/16\n```\n{{% /example %}}\n{{% example %}}\n### Create an API access rule based on IPs and Certificate Authority (CA)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst ca01 = new outscale.Ca(\"ca01\", {\n caPem: fs.readFileSync(\"\u003cPATH\u003e\"),\n description: \"Terraform CA\",\n});\nconst apiAccessRule02 = new outscale.ApiAccessRule(\"apiAccessRule02\", {\n ipRanges: [\n \"192.0.2.0\",\n \"192.0.2.0/16\",\n ],\n caIds: [ca01.caId],\n description: \"API Access Rule with CA from Terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nca01 = outscale.Ca(\"ca01\",\n ca_pem=(lambda path: open(path).read())(\"\u003cPATH\u003e\"),\n description=\"Terraform CA\")\napi_access_rule02 = outscale.ApiAccessRule(\"apiAccessRule02\",\n ip_ranges=[\n \"192.0.2.0\",\n \"192.0.2.0/16\",\n ],\n ca_ids=[ca01.ca_id],\n description=\"API Access Rule with CA from Terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ca01 = new Outscale.Ca(\"ca01\", new()\n {\n CaPem = File.ReadAllText(\"\u003cPATH\u003e\"),\n Description = \"Terraform CA\",\n });\n\n var apiAccessRule02 = new Outscale.ApiAccessRule(\"apiAccessRule02\", new()\n {\n IpRanges = new[]\n {\n \"192.0.2.0\",\n \"192.0.2.0/16\",\n },\n CaIds = new[]\n {\n ca01.CaId,\n },\n Description = \"API Access Rule with CA from Terraform\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/outscale/pulumi-outscale/sdk/go/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tca01, err := outscale.NewCa(ctx, \"ca01\", \u0026outscale.CaArgs{\n\t\t\tCaPem: readFileOrPanic(\"\u003cPATH\u003e\"),\n\t\t\tDescription: pulumi.String(\"Terraform CA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewApiAccessRule(ctx, \"apiAccessRule02\", \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\tCaIds: pulumi.StringArray{\n\t\t\t\tca01.CaId,\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"API Access Rule with CA 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.Ca;\nimport com.pulumi.outscale.CaArgs;\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 ca01 = new Ca(\"ca01\", CaArgs.builder() \n .caPem(Files.readString(Paths.get(\"\u003cPATH\u003e\")))\n .description(\"Terraform CA\")\n .build());\n\n var apiAccessRule02 = new ApiAccessRule(\"apiAccessRule02\", ApiAccessRuleArgs.builder() \n .ipRanges( \n \"192.0.2.0\",\n \"192.0.2.0/16\")\n .caIds(ca01.caId())\n .description(\"API Access Rule with CA from Terraform\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ca01:\n type: outscale:Ca\n properties:\n caPem:\n fn::readFile: \u003cPATH\u003e\n description: Terraform CA\n apiAccessRule02:\n type: outscale:ApiAccessRule\n properties:\n ipRanges:\n - 192.0.2.0\n - 192.0.2.0/16\n caIds:\n - ${ca01.caId}\n description: API Access Rule with CA from Terraform\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn API access rule can be imported using its ID. For exampleconsole\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 `ca_ids` parameter.\n" + }, + "description": { + "type": "string", + "description": "A description for the API access rule.\n" + }, + "ipRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IP addresses or CIDR blocks (for example, `192.0.2.0/16`).\n" + }, + "requestId": { + "type": "string" + } + }, + "required": [ + "apiAccessRuleId", + "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 `ca_ids` parameter.\n" + }, + "description": { + "type": "string", + "description": "A description for the API access rule.\n" + }, + "ipRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IP addresses or CIDR blocks (for example, `192.0.2.0/16`).\n" + } + }, + "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 `ca_ids` parameter.\n" + }, + "description": { + "type": "string", + "description": "A description for the API access rule.\n" + }, + "ipRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IP addresses or CIDR blocks (for example, `192.0.2.0/16`).\n" + }, + "requestId": { + "type": "string" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst ca01 = new outscale.Ca(\"ca01\", {\n caPem: fs.readFileSync(\"\u003cPATH\u003e\"),\n description: \"Terraform certificate authority\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nca01 = outscale.Ca(\"ca01\",\n ca_pem=(lambda path: open(path).read())(\"\u003cPATH\u003e\"),\n description=\"Terraform certificate authority\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ca01 = new Outscale.Ca(\"ca01\", new()\n {\n CaPem = File.ReadAllText(\"\u003cPATH\u003e\"),\n Description = \"Terraform certificate authority\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/outscale/pulumi-outscale/sdk/go/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := outscale.NewCa(ctx, \"ca01\", \u0026outscale.CaArgs{\n\t\t\tCaPem: readFileOrPanic(\"\u003cPATH\u003e\"),\n\t\t\tDescription: pulumi.String(\"Terraform certificate authority\"),\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.Ca;\nimport com.pulumi.outscale.CaArgs;\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 ca01 = new Ca(\"ca01\", CaArgs.builder() \n .caPem(Files.readString(Paths.get(\"\u003cPATH\u003e\")))\n .description(\"Terraform certificate authority\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ca01:\n type: outscale:Ca\n properties:\n caPem:\n fn::readFile: \u003cPATH\u003e\n description: Terraform certificate authority\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA CA can be imported using its ID. For exampleconsole\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" + } + }, + "required": [ + "caFingerprint", + "caId", + "requestId" + ], + "inputProperties": { + "caPem": { + "type": "string", + "description": "The CA in PEM format.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description of the CA.\n" + } + }, + "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", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description of the CA.\n" + }, + "requestId": { + "type": "string" + } + }, + "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-Customer-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-clientgateway).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst clientGateway01 = new outscale.ClientGateway(\"clientGateway01\", {\n bgpAsn: 65000,\n connectionType: \"ipsec.1\",\n publicIp: \"111.11.11.111\",\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(\"clientGateway01\",\n bgp_asn=65000,\n connection_type=\"ipsec.1\",\n public_ip=\"111.11.11.111\",\n tags=[outscale.ClientGatewayTagArgs(\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(\"clientGateway01\", new()\n {\n BgpAsn = 65000,\n ConnectionType = \"ipsec.1\",\n PublicIp = \"111.11.11.111\",\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/outscale/pulumi-outscale/sdk/go/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, \"clientGateway01\", \u0026outscale.ClientGatewayArgs{\n\t\t\tBgpAsn: pulumi.Int(65000),\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\n\t\t\tPublicIp: pulumi.String(\"111.11.11.111\"),\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)\n .connectionType(\"ipsec.1\")\n .publicIp(\"111.11.11.111\")\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 properties:\n bgpAsn: 65000\n connectionType: ipsec.1\n publicIp: 111.11.11.111\n tags:\n - key: Name\n value: client_gateway_01\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA client gateway can be imported using its ID. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/clientGateway:ClientGateway ImportedClientGateway cgw-12345678\n```\n\n ", + "properties": { + "bgpAsn": { + "type": "integer", + "description": "The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet. This number must be between `1` and `4294967295`.\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 (only `ipsec.1` is supported).\n" + }, + "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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ClientGatewayTag:ClientGatewayTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "bgpAsn", + "clientGatewayId", + "connectionType", + "publicIp", + "requestId", + "state" + ], + "inputProperties": { + "bgpAsn": { + "type": "integer", + "description": "The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet. This number must be between `1` and `4294967295`.\n", + "willReplaceOnChanges": true + }, + "connectionType": { + "type": "string", + "description": "The communication protocol used to establish tunnel with your client gateway (only `ipsec.1` is supported).\n", + "willReplaceOnChanges": true + }, + "publicIp": { + "type": "string", + "description": "The public fixed IPv4 address of your client gateway.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ClientGatewayTag:ClientGatewayTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "requiredInputs": [ + "bgpAsn", + "connectionType", + "publicIp" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ClientGateway resources.\n", + "properties": { + "bgpAsn": { + "type": "integer", + "description": "The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet. This number must be between `1` and `4294967295`.\n", + "willReplaceOnChanges": true + }, + "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 (only `ipsec.1` is supported).\n", + "willReplaceOnChanges": true + }, + "publicIp": { + "type": "string", + "description": "The public fixed IPv4 address of your client gateway.\n", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the client gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ClientGatewayTag:ClientGatewayTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create a basic DHCP options set\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst dhcpOption01 = new outscale.DhcpOption(\"dhcpOption01\", {domainName: \"MyCompany.com\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ndhcp_option01 = outscale.DhcpOption(\"dhcpOption01\", 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(\"dhcpOption01\", new()\n {\n DomainName = \"MyCompany.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"dhcpOption01\", \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 properties:\n domainName: MyCompany.com\n```\n{{% /example %}}\n{{% example %}}\n### Create a complete DHCP options set\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst dhcpOption02 = new outscale.DhcpOption(\"dhcpOption02\", {\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(\"dhcpOption02\",\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=[outscale.DhcpOptionTagArgs(\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(\"dhcpOption02\", 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/outscale/pulumi-outscale/sdk/go/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, \"dhcpOption02\", \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 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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDHCP options can be imported using the DHCP option ID. For exampleconsole\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" + }, + "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: `domain_name`, `domain_name_servers`, `log_servers`, or `ntp_servers`.\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/DhcpOptionTag:DhcpOptionTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "default", + "dhcpOptionsSetId", + "domainName", + "domainNameServers", + "logServers", + "ntpServers", + "requestId" + ], + "inputProperties": { + "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", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "logServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPs of the log servers. You must specify at least one of the following parameters: `domain_name`, `domain_name_servers`, `log_servers`, or `ntp_servers`.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/DhcpOptionTag:DhcpOptionTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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" + }, + "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", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "logServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPs of the log servers. You must specify at least one of the following parameters: `domain_name`, `domain_name_servers`, `log_servers`, or `ntp_servers`.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/DhcpOptionTag:DhcpOptionTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create a flexible GPU\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst flexibleGpu01 = new outscale.FlexibleGpu(\"flexibleGpu01\", {\n modelName: _var.model_name,\n generation: \"v4\",\n subregionName: `${_var.region}a`,\n deleteOnVmDeletion: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nflexible_gpu01 = outscale.FlexibleGpu(\"flexibleGpu01\",\n model_name=var[\"model_name\"],\n generation=\"v4\",\n subregion_name=f\"{var['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(\"flexibleGpu01\", new()\n {\n ModelName = @var.Model_name,\n Generation = \"v4\",\n SubregionName = $\"{@var.Region}a\",\n DeleteOnVmDeletion = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"flexibleGpu01\", \u0026outscale.FlexibleGpuArgs{\n\t\t\tModelName: pulumi.Any(_var.Model_name),\n\t\t\tGeneration: pulumi.String(\"v4\"),\n\t\t\tSubregionName: pulumi.String(fmt.Sprintf(\"%va\", _var.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(var_.model_name())\n .generation(\"v4\")\n .subregionName(String.format(\"%sa\", var_.region()))\n .deleteOnVmDeletion(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n flexibleGpu01:\n type: outscale:FlexibleGpu\n properties:\n modelName: ${var.model_name}\n generation: v4\n subregionName: ${var.region}a\n deleteOnVmDeletion: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA flexible GPU can be imported using its ID. For exampleconsole\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" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the fGPU (`allocated` \\| `attaching` \\| `attached` \\| `detaching`).\n" + }, + "subregionName": { + "type": "string", + "description": "The Subregion in which you want to create the fGPU.\n" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM the fGPU is attached to, if any.\n" + } + }, + "required": [ + "deleteOnVmDeletion", + "flexibleGpuId", + "generation", + "modelName", + "requestId", + "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", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "subregionName": { + "type": "string", + "description": "The Subregion in which you want to create the fGPU.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the fGPU (`allocated` \\| `attaching` \\| `attached` \\| `detaching`).\n" + }, + "subregionName": { + "type": "string", + "description": "The Subregion in which you want to create the fGPU.\n", + "willReplaceOnChanges": true + }, + "vmId": { + "type": "string", + "description": "The ID of the VM the fGPU is attached to, if any.\n", + "willReplaceOnChanges": true + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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: t2.small,\n keypairName: _var.keypair_name,\n placementSubregionName: \"eu-west-2a\",\n});\nconst flexibleGpu01 = new outscale.FlexibleGpu(\"flexibleGpu01\", {\n modelName: _var.model_name,\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=t2[\"small\"],\n keypair_name=var[\"keypair_name\"],\n placement_subregion_name=\"eu-west-2a\")\nflexible_gpu01 = outscale.FlexibleGpu(\"flexibleGpu01\",\n model_name=var[\"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 = t2.Small,\n KeypairName = @var.Keypair_name,\n PlacementSubregionName = \"eu-west-2a\",\n });\n\n var flexibleGpu01 = new Outscale.FlexibleGpu(\"flexibleGpu01\", new()\n {\n ModelName = @var.Model_name,\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/outscale/pulumi-outscale/sdk/go/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.Any(ami_12345678),\n\t\t\tVmType: pulumi.Any(t2.Small),\n\t\t\tKeypairName: pulumi.Any(_var.Keypair_name),\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, \"flexibleGpu01\", \u0026outscale.FlexibleGpuArgs{\n\t\t\tModelName: pulumi.Any(_var.Model_name),\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(t2.small())\n .keypairName(var_.keypair_name())\n .placementSubregionName(\"eu-west-2a\")\n .build());\n\n var flexibleGpu01 = new FlexibleGpu(\"flexibleGpu01\", FlexibleGpuArgs.builder() \n .modelName(var_.model_name())\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: ${t2.small}\n keypairName: ${var.keypair_name}\n placementSubregionName: eu-west-2a\n flexibleGpu01:\n type: outscale:FlexibleGpu\n properties:\n modelName: ${var.model_name}\n generation: v4\n subregionName: eu-west-2a\n deleteOnVmDeletion: true\n```\n{{% /example %}}\n{{% example %}}\n### Create a flexible GPU link\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst linkFgpu01 = new outscale.FlexibleGpuLink(\"linkFgpu01\", {\n flexibleGpuId: outscale_flexible_gpu.flexible_gpu01.flexible_gpu_id,\n vmId: outscale_vm.vm01.vm_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nlink_fgpu01 = outscale.FlexibleGpuLink(\"linkFgpu01\",\n flexible_gpu_id=outscale_flexible_gpu[\"flexible_gpu01\"][\"flexible_gpu_id\"],\n vm_id=outscale_vm[\"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 linkFgpu01 = new Outscale.FlexibleGpuLink(\"linkFgpu01\", new()\n {\n FlexibleGpuId = outscale_flexible_gpu.Flexible_gpu01.Flexible_gpu_id,\n VmId = outscale_vm.Vm01.Vm_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"linkFgpu01\", \u0026outscale.FlexibleGpuLinkArgs{\n\t\t\tFlexibleGpuId: pulumi.Any(outscale_flexible_gpu.Flexible_gpu01.Flexible_gpu_id),\n\t\t\tVmId: pulumi.Any(outscale_vm.Vm01.Vm_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.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 .flexibleGpuId(outscale_flexible_gpu.flexible_gpu01().flexible_gpu_id())\n .vmId(outscale_vm.vm01().vm_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n linkFgpu01:\n type: outscale:FlexibleGpuLink\n properties:\n flexibleGpuId: ${outscale_flexible_gpu.flexible_gpu01.flexible_gpu_id}\n vmId: ${outscale_vm.vm01.vm_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA flexible GPU link can be imported using the flexible GPU ID. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/flexibleGpuLink:FlexibleGpuLink imported_link_fgpu fgpu-12345678\n```\n\n ", + "properties": { + "flexibleGpuId": { + "type": "string", + "description": "The ID of the fGPU you want to attach.\n" + }, + "requestId": { + "type": "string" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM you want to attach the fGPU to.\n" + } + }, + "required": [ + "flexibleGpuId", + "requestId", + "vmId" + ], + "inputProperties": { + "flexibleGpuId": { + "type": "string", + "description": "The ID of the fGPU you want to attach.\n", + "willReplaceOnChanges": true + }, + "vmId": { + "type": "string", + "description": "The ID of the VM you want to attach the fGPU to.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "flexibleGpuId", + "vmId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering FlexibleGpuLink resources.\n", + "properties": { + "flexibleGpuId": { + "type": "string", + "description": "The ID of the fGPU you want to attach.\n", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM you want to attach the fGPU to.\n", + "willReplaceOnChanges": true + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create an image\n\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: _var.vm_id,\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=var[\"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 = @var.Vm_id,\n NoReboot = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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(_var.Vm_id),\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(var_.vm_id())\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: ${var.vm_id}\n noReboot: 'true'\n```\n{{% /example %}}\n{{% example %}}\n### Import an image\n\u003e **Important** Make sure the manifest file is still valid.\n\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 fileLocation: \"\u003cURL\u003e\",\n imageName: \"terraform-omi-register\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage02 = outscale.Image(\"image02\",\n description=\"Terraform register OMI\",\n file_location=\"\u003cURL\u003e\",\n image_name=\"terraform-omi-register\")\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 FileLocation = \"\u003cURL\u003e\",\n ImageName = \"terraform-omi-register\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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\tFileLocation: pulumi.String(\"\u003cURL\u003e\"),\n\t\t\tImageName: pulumi.String(\"terraform-omi-register\"),\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 .fileLocation(\"\u003cURL\u003e\")\n .imageName(\"terraform-omi-register\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n image02:\n type: outscale:Image\n properties:\n description: Terraform register OMI\n fileLocation: \u003cURL\u003e\n imageName: terraform-omi-register\n```\n{{% /example %}}\n{{% example %}}\n### Copy an image\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Create an image with a Block Storage Unit (BSU) volume\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst image04 = new outscale.Image(\"image04\", {\n blockDeviceMappings: [{\n bsus: [{\n deleteOnVmDeletion: true,\n iops: 150,\n snapshotId: \"snap-12345678\",\n volumeSize: 120,\n volumeType: \"io1\",\n }],\n deviceName: \"/dev/sda1\",\n }],\n description: \"Terraform OMI with BSU\",\n imageName: \"terraform-omi-bsu\",\n rootDeviceName: \"/dev/sda1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage04 = outscale.Image(\"image04\",\n block_device_mappings=[outscale.ImageBlockDeviceMappingArgs(\n bsus=[outscale.ImageBlockDeviceMappingBsusArgs(\n delete_on_vm_deletion=True,\n iops=150,\n snapshot_id=\"snap-12345678\",\n volume_size=120,\n volume_type=\"io1\",\n )],\n device_name=\"/dev/sda1\",\n )],\n description=\"Terraform OMI with BSU\",\n image_name=\"terraform-omi-bsu\",\n root_device_name=\"/dev/sda1\")\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 BlockDeviceMappings = new[]\n {\n new Outscale.Inputs.ImageBlockDeviceMappingArgs\n {\n Bsus = new[]\n {\n new Outscale.Inputs.ImageBlockDeviceMappingBsusArgs\n {\n DeleteOnVmDeletion = true,\n Iops = 150,\n SnapshotId = \"snap-12345678\",\n VolumeSize = 120,\n VolumeType = \"io1\",\n },\n },\n DeviceName = \"/dev/sda1\",\n },\n },\n Description = \"Terraform OMI with BSU\",\n ImageName = \"terraform-omi-bsu\",\n RootDeviceName = \"/dev/sda1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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\tBlockDeviceMappings: outscale.ImageBlockDeviceMappingArray{\n\t\t\t\t\u0026outscale.ImageBlockDeviceMappingArgs{\n\t\t\t\t\tBsus: outscale.ImageBlockDeviceMappingBsusArray{\n\t\t\t\t\t\t\u0026outscale.ImageBlockDeviceMappingBsusArgs{\n\t\t\t\t\t\t\tDeleteOnVmDeletion: pulumi.Bool(true),\n\t\t\t\t\t\t\tIops: pulumi.Int(150),\n\t\t\t\t\t\t\tSnapshotId: pulumi.String(\"snap-12345678\"),\n\t\t\t\t\t\t\tVolumeSize: pulumi.Int(120),\n\t\t\t\t\t\t\tVolumeType: pulumi.String(\"io1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDeviceName: pulumi.String(\"/dev/sda1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Terraform OMI with BSU\"),\n\t\t\tImageName: pulumi.String(\"terraform-omi-bsu\"),\n\t\t\tRootDeviceName: pulumi.String(\"/dev/sda1\"),\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 .blockDeviceMappings(ImageBlockDeviceMappingArgs.builder()\n .bsus(ImageBlockDeviceMappingBsusArgs.builder()\n .deleteOnVmDeletion(\"true\")\n .iops(150)\n .snapshotId(\"snap-12345678\")\n .volumeSize(\"120\")\n .volumeType(\"io1\")\n .build())\n .deviceName(\"/dev/sda1\")\n .build())\n .description(\"Terraform OMI with BSU\")\n .imageName(\"terraform-omi-bsu\")\n .rootDeviceName(\"/dev/sda1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n image04:\n type: outscale:Image\n properties:\n blockDeviceMappings:\n - bsus:\n - deleteOnVmDeletion: 'true'\n iops: 150\n snapshotId: snap-12345678\n volumeSize: '120'\n volumeType: io1\n deviceName: /dev/sda1\n description: Terraform OMI with BSU\n imageName: terraform-omi-bsu\n rootDeviceName: /dev/sda1\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn image can be imported using its ID. For exampleconsole\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": "The architecture of the OMI (by default, `i386` if you specified the `file_location` or `root_device_name` parameter).\n" + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageBlockDeviceMapping:ImageBlockDeviceMapping" + }, + "description": "One or more block device mappings.\n" + }, + "creationDate": { + "type": "string", + "description": "The date and time of creation of the OMI.\n" + }, + "description": { + "type": "string", + "description": "A description for the new OMI.\n" + }, + "fileLocation": { + "type": "string", + "description": "The pre-signed URL of the OMI manifest file, or the full path to the OMI stored in a bucket. If you specify this parameter, a copy of the OMI is created in your account. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\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": "If false, the VM shuts down before creating the OMI and then reboots. If true, the VM does not.\n" + }, + "permissionsToLaunches": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImagePermissionsToLaunch:ImagePermissionsToLaunch" + }, + "description": "Information about the users who have permissions for the resource.\n" + }, + "productCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The product code associated with the OMI (`0001` Linux/Unix \\| `0002` Windows \\| `0004` Linux/Oracle \\| `0005` Windows 10).\n" + }, + "requestId": { + "type": "string" + }, + "rootDeviceName": { + "type": "string", + "description": "The name of the root device. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\n" + }, + "rootDeviceType": { + "type": "string", + "description": "The type of root device used by the OMI (always `bsu`).\n" + }, + "sourceImageId": { + "type": "string", + "description": "The ID of the OMI you want to copy. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\n" + }, + "sourceRegionName": { + "type": "string", + "description": "The name of the source Region, which must be the same as the Region of your account.\n" + }, + "state": { + "type": "string", + "description": "The state of the OMI (`pending` \\| `available` \\| `failed`).\n" + }, + "stateComments": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageStateComment:ImageStateComment" + }, + "description": "Information about the change of state.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageTag:ImageTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM from which you want to create the OMI. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\n" + } + }, + "required": [ + "accountAlias", + "accountId", + "architecture", + "blockDeviceMappings", + "creationDate", + "description", + "fileLocation", + "imageId", + "imageName", + "imageType", + "isPublic", + "noReboot", + "permissionsToLaunches", + "productCodes", + "requestId", + "rootDeviceName", + "rootDeviceType", + "sourceImageId", + "state", + "stateComments", + "vmId" + ], + "inputProperties": { + "architecture": { + "type": "string", + "description": "The architecture of the OMI (by default, `i386` if you specified the `file_location` or `root_device_name` parameter).\n" + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageBlockDeviceMapping:ImageBlockDeviceMapping" + }, + "description": "One or more block device mappings.\n" + }, + "description": { + "type": "string", + "description": "A description for the new OMI.\n" + }, + "fileLocation": { + "type": "string", + "description": "The pre-signed URL of the OMI manifest file, or the full path to the OMI stored in a bucket. If you specify this parameter, a copy of the OMI is created in your account. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\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": "If false, the VM shuts down before creating the OMI and then reboots. If true, the VM does not.\n" + }, + "rootDeviceName": { + "type": "string", + "description": "The name of the root device. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\n" + }, + "sourceImageId": { + "type": "string", + "description": "The ID of the OMI you want to copy. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\n" + }, + "sourceRegionName": { + "type": "string", + "description": "The name of the source Region, which must be the same as the Region of your account.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageTag:ImageTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM from which you want to create the OMI. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\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": "The architecture of the OMI (by default, `i386` if you specified the `file_location` or `root_device_name` parameter).\n" + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageBlockDeviceMapping:ImageBlockDeviceMapping" + }, + "description": "One or more block device mappings.\n" + }, + "creationDate": { + "type": "string", + "description": "The date and time of creation of the OMI.\n" + }, + "description": { + "type": "string", + "description": "A description for the new OMI.\n" + }, + "fileLocation": { + "type": "string", + "description": "The pre-signed URL of the OMI manifest file, or the full path to the OMI stored in a bucket. If you specify this parameter, a copy of the OMI is created in your account. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\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": "If false, the VM shuts down before creating the OMI and then reboots. If true, the VM does not.\n" + }, + "permissionsToLaunches": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImagePermissionsToLaunch:ImagePermissionsToLaunch" + }, + "description": "Information about the users who have permissions for the resource.\n" + }, + "productCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The product code associated with the OMI (`0001` Linux/Unix \\| `0002` Windows \\| `0004` Linux/Oracle \\| `0005` Windows 10).\n" + }, + "requestId": { + "type": "string" + }, + "rootDeviceName": { + "type": "string", + "description": "The name of the root device. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\n" + }, + "rootDeviceType": { + "type": "string", + "description": "The type of root device used by the OMI (always `bsu`).\n" + }, + "sourceImageId": { + "type": "string", + "description": "The ID of the OMI you want to copy. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\n" + }, + "sourceRegionName": { + "type": "string", + "description": "The name of the source Region, which must be the same as the Region of your account.\n" + }, + "state": { + "type": "string", + "description": "The state of the OMI (`pending` \\| `available` \\| `failed`).\n" + }, + "stateComments": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageStateComment:ImageStateComment" + }, + "description": "Information about the change of state.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageTag:ImageTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM from which you want to create the OMI. You must specify only one of the following parameters: `file_location`, `root_device_name`, `source_image_id` or `vm_id`.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resource\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Create an image export task\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst imageExportTask01 = new outscale.ImageExportTask(\"imageExportTask01\", {\n imageId: outscale_image.image01.image_id,\n osuExports: [{\n diskImageFormat: \"qcow2\",\n osuBucket: \"terraform-bucket\",\n osuPrefix: \"new-export\",\n osuApiKeys: [{\n apiKeyId: _var.access_key_id,\n secretKey: _var.secret_key_id,\n }],\n }],\n tags: [{\n key: \"Name\",\n value: \"terraform-snapshot-export-task\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nimage_export_task01 = outscale.ImageExportTask(\"imageExportTask01\",\n image_id=outscale_image[\"image01\"][\"image_id\"],\n osu_exports=[outscale.ImageExportTaskOsuExportArgs(\n disk_image_format=\"qcow2\",\n osu_bucket=\"terraform-bucket\",\n osu_prefix=\"new-export\",\n osu_api_keys=[outscale.ImageExportTaskOsuExportOsuApiKeyArgs(\n api_key_id=var[\"access_key_id\"],\n secret_key=var[\"secret_key_id\"],\n )],\n )],\n tags=[outscale.ImageExportTaskTagArgs(\n key=\"Name\",\n value=\"terraform-snapshot-export-task\",\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 = new Outscale.ImageExportTask(\"imageExportTask01\", new()\n {\n ImageId = outscale_image.Image01.Image_id,\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 = @var.Access_key_id,\n SecretKey = @var.Secret_key_id,\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 });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"imageExportTask01\", \u0026outscale.ImageExportTaskArgs{\n\t\t\tImageId: pulumi.Any(outscale_image.Image01.Image_id),\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(_var.Access_key_id),\n\t\t\t\t\t\t\tSecretKey: pulumi.Any(_var.Secret_key_id),\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})\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(outscale_image.image01().image_id())\n .osuExports(ImageExportTaskOsuExportArgs.builder()\n .diskImageFormat(\"qcow2\")\n .osuBucket(\"terraform-bucket\")\n .osuPrefix(\"new-export\")\n .osuApiKeys(ImageExportTaskOsuExportOsuApiKeyArgs.builder()\n .apiKeyId(var_.access_key_id())\n .secretKey(var_.secret_key_id())\n .build())\n .build())\n .tags(ImageExportTaskTagArgs.builder()\n .key(\"Name\")\n .value(\"terraform-snapshot-export-task\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n imageExportTask01:\n type: outscale:ImageExportTask\n properties:\n imageId: ${outscale_image.image01.image_id}\n osuExports:\n - diskImageFormat: qcow2\n osuBucket: terraform-bucket\n osuPrefix: new-export\n osuApiKeys:\n - apiKeyId: ${var.access_key_id}\n secretKey: ${var.secret_key_id}\n tags:\n - key: Name\n value: terraform-snapshot-export-task\n```\n{{% /example %}}\n{{% /examples %}}", + "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 export.\n" + }, + "osuExports": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageExportTaskOsuExport:ImageExportTaskOsuExport" + }, + "description": "Information about the OOS export task to create.\n" + }, + "progress": { + "type": "integer", + "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` \\| `pending` \\| `completed` \\| `failed` \\| `cancelled`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageExportTaskTag: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" + } + }, + "required": [ + "comment", + "imageId", + "osuExports", + "progress", + "requestId", + "state", + "taskId" + ], + "inputProperties": { + "imageId": { + "type": "string", + "description": "The ID of the OMI to export.\n", + "willReplaceOnChanges": true + }, + "osuExports": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageExportTaskOsuExport:ImageExportTaskOsuExport" + }, + "description": "Information about the OOS export task to create.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageExportTaskTag:ImageExportTaskTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\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" + }, + "imageId": { + "type": "string", + "description": "The ID of the OMI to export.\n", + "willReplaceOnChanges": true + }, + "osuExports": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageExportTaskOsuExport:ImageExportTaskOsuExport" + }, + "description": "Information about the OOS export task to create.\n", + "willReplaceOnChanges": true + }, + "progress": { + "type": "integer", + "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` \\| `pending` \\| `completed` \\| `failed` \\| `cancelled`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/ImageExportTaskTag: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" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Add permissions\n\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=outscale.ImageLaunchPermissionPermissionAdditionsArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Remove permissions\n\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=outscale.ImageLaunchPermissionPermissionRemovalsArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "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" + }, + "permissionAdditions": { + "$ref": "#/types/outscale:index/ImageLaunchPermissionPermissionAdditions:ImageLaunchPermissionPermissionAdditions", + "description": "Information about the users to whom you want to give permissions for the resource.\n" + }, + "permissionRemovals": { + "$ref": "#/types/outscale:index/ImageLaunchPermissionPermissionRemovals:ImageLaunchPermissionPermissionRemovals", + "description": "Information about the users from whom you want to remove permissions for the resource.\n" + }, + "permissionsToLaunch": { + "$ref": "#/types/outscale:index/ImageLaunchPermissionPermissionsToLaunch:ImageLaunchPermissionPermissionsToLaunch", + "description": "Information about the users who have permissions for the resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "required": [ + "description", + "imageId", + "permissionsToLaunch", + "requestId" + ], + "inputProperties": { + "imageId": { + "type": "string", + "description": "The ID of the OMI you want to modify.\n", + "willReplaceOnChanges": true + }, + "permissionAdditions": { + "$ref": "#/types/outscale:index/ImageLaunchPermissionPermissionAdditions:ImageLaunchPermissionPermissionAdditions", + "description": "Information about the users to whom you want to give permissions for the resource.\n", + "willReplaceOnChanges": true + }, + "permissionRemovals": { + "$ref": "#/types/outscale:index/ImageLaunchPermissionPermissionRemovals:ImageLaunchPermissionPermissionRemovals", + "description": "Information about the users from whom you want to remove permissions for the resource.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "permissionAdditions": { + "$ref": "#/types/outscale:index/ImageLaunchPermissionPermissionAdditions:ImageLaunchPermissionPermissionAdditions", + "description": "Information about the users to whom you want to give permissions for the resource.\n", + "willReplaceOnChanges": true + }, + "permissionRemovals": { + "$ref": "#/types/outscale:index/ImageLaunchPermissionPermissionRemovals:ImageLaunchPermissionPermissionRemovals", + "description": "Information about the users from whom you want to remove permissions for the resource.\n", + "willReplaceOnChanges": true + }, + "permissionsToLaunch": { + "$ref": "#/types/outscale:index/ImageLaunchPermissionPermissionsToLaunch:ImageLaunchPermissionPermissionsToLaunch", + "description": "Information about the users who have permissions for the resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "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-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-internetservice).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst internetService01 = new outscale.InternetService(\"internetService01\", {});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ninternet_service01 = outscale.InternetService(\"internetService01\")\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(\"internetService01\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"internetService01\", 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```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn internet service can be imported using its ID. For exampleconsole\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 `available`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/InternetServiceTag:InternetServiceTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "internetServiceId", + "netId", + "requestId", + "state" + ], + "inputProperties": { + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/InternetServiceTag:InternetServiceTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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 `available`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/InternetServiceTag:InternetServiceTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-internetservice).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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(\"internetService01\", {});\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(\"internetService01\")\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(\"internetService01\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"internetService01\", 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```\n\n{{% /example %}}\n{{% example %}}\n### Link an Internet service to a Net\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internetServiceLink01\", {\n internetServiceId: outscale_internet_service.internet_service01.internet_service_id,\n netId: outscale_net.net01.net_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\ninternet_service_link01 = outscale.InternetServiceLink(\"internetServiceLink01\",\n internet_service_id=outscale_internet_service[\"internet_service01\"][\"internet_service_id\"],\n net_id=outscale_net[\"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 internetServiceLink01 = new Outscale.InternetServiceLink(\"internetServiceLink01\", new()\n {\n InternetServiceId = outscale_internet_service.Internet_service01.Internet_service_id,\n NetId = outscale_net.Net01.Net_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"internetServiceLink01\", \u0026outscale.InternetServiceLinkArgs{\n\t\t\tInternetServiceId: pulumi.Any(outscale_internet_service.Internet_service01.Internet_service_id),\n\t\t\tNetId: pulumi.Any(outscale_net.Net01.Net_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.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(outscale_internet_service.internet_service01().internet_service_id())\n .netId(outscale_net.net01().net_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internetServiceLink01:\n type: outscale:InternetServiceLink\n properties:\n internetServiceId: ${outscale_internet_service.internet_service01.internet_service_id}\n netId: ${outscale_net.net01.net_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn internet service link can be imported using the internet service ID. For exampleconsole\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 `available`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/InternetServiceLinkTag:InternetServiceLinkTag" + }, + "description": "One or more tags associated with the Internet service.\n" + } + }, + "required": [ + "internetServiceId", + "netId", + "requestId", + "state", + "tags" + ], + "inputProperties": { + "internetServiceId": { + "type": "string", + "description": "The ID of the Internet service you want to attach.\n", + "willReplaceOnChanges": true + }, + "netId": { + "type": "string", + "description": "The ID of the Net to which you want to attach the Internet service.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "netId": { + "type": "string", + "description": "The ID of the Net to which you want to attach the Internet service.\n", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the attachment of the Internet service to the Net (always `available`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/InternetServiceLinkTag:InternetServiceLinkTag" + }, + "description": "One or more tags associated with the Internet service.\n" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create a keypair\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Import keypairs\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst keypair02 = new outscale.Keypair(\"keypair02\", {\n keypairName: \"terraform-keypair-import-file\",\n publicKey: fs.readFileSync(\"\u003cPATH\u003e\"),\n});\nconst keypair03 = new outscale.Keypair(\"keypair03\", {\n keypairName: \"terraform-keypair-import-text\",\n publicKey: \"UFVCTElDIEtFWQ==\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nkeypair02 = outscale.Keypair(\"keypair02\",\n keypair_name=\"terraform-keypair-import-file\",\n public_key=(lambda path: open(path).read())(\"\u003cPATH\u003e\"))\nkeypair03 = outscale.Keypair(\"keypair03\",\n keypair_name=\"terraform-keypair-import-text\",\n public_key=\"UFVCTElDIEtFWQ==\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var keypair02 = new Outscale.Keypair(\"keypair02\", new()\n {\n KeypairName = \"terraform-keypair-import-file\",\n PublicKey = File.ReadAllText(\"\u003cPATH\u003e\"),\n });\n\n var keypair03 = new Outscale.Keypair(\"keypair03\", new()\n {\n KeypairName = \"terraform-keypair-import-text\",\n PublicKey = \"UFVCTElDIEtFWQ==\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/outscale/pulumi-outscale/sdk/go/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := outscale.NewKeypair(ctx, \"keypair02\", \u0026outscale.KeypairArgs{\n\t\t\tKeypairName: pulumi.String(\"terraform-keypair-import-file\"),\n\t\t\tPublicKey: readFileOrPanic(\"\u003cPATH\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewKeypair(ctx, \"keypair03\", \u0026outscale.KeypairArgs{\n\t\t\tKeypairName: pulumi.String(\"terraform-keypair-import-text\"),\n\t\t\tPublicKey: pulumi.String(\"UFVCTElDIEtFWQ==\"),\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 keypair02 = new Keypair(\"keypair02\", KeypairArgs.builder() \n .keypairName(\"terraform-keypair-import-file\")\n .publicKey(Files.readString(Paths.get(\"\u003cPATH\u003e\")))\n .build());\n\n var keypair03 = new Keypair(\"keypair03\", KeypairArgs.builder() \n .keypairName(\"terraform-keypair-import-text\")\n .publicKey(\"UFVCTElDIEtFWQ==\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n keypair02:\n type: outscale:Keypair\n properties:\n keypairName: terraform-keypair-import-file\n publicKey:\n fn::readFile: \u003cPATH\u003e\n keypair03:\n type: outscale:Keypair\n properties:\n keypairName: terraform-keypair-import-text\n publicKey: UFVCTElDIEtFWQ==\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA keypair can be imported using its name. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/keypair:Keypair ImportedKeypair Name-of-the-Keypair\n```\n\n ", + "properties": { + "keypairFingerprint": { + "type": "string", + "description": "The MD5 public key fingerprint as specified in section 4 of RFC 4716.\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" + }, + "privateKey": { + "type": "string", + "description": "The private key. When saving the private key in a .rsa file, replace the `\\n` escape sequences with line breaks.\n" + }, + "publicKey": { + "type": "string", + "description": "The public key. It must be Base64-encoded.\n" + }, + "requestId": { + "type": "string" + } + }, + "required": [ + "keypairFingerprint", + "keypairName", + "privateKey", + "publicKey", + "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. It must be Base64-encoded.\n" + } + }, + "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" + }, + "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" + }, + "privateKey": { + "type": "string", + "description": "The private key. When saving the private key in a .rsa file, replace the `\\n` escape sequences with line breaks.\n" + }, + "publicKey": { + "type": "string", + "description": "The public key. It must be Base64-encoded.\n" + }, + "requestId": { + "type": "string" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create a load balancer in the public Cloud\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancer01 = new outscale.LoadBalancer(\"loadBalancer01\", {\n listeners: [{\n backendPort: 8080,\n backendProtocol: \"HTTP\",\n loadBalancerPort: 8080,\n loadBalancerProtocol: \"HTTP\",\n }],\n loadBalancerName: \"terraform-public-load-balancer\",\n subregionNames: [`${_var.region}a`],\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(\"loadBalancer01\",\n listeners=[outscale.LoadBalancerListenerArgs(\n backend_port=8080,\n backend_protocol=\"HTTP\",\n load_balancer_port=8080,\n load_balancer_protocol=\"HTTP\",\n )],\n load_balancer_name=\"terraform-public-load-balancer\",\n subregion_names=[f\"{var['region']}a\"],\n tags=[outscale.LoadBalancerTagArgs(\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(\"loadBalancer01\", new()\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 LoadBalancerName = \"terraform-public-load-balancer\",\n SubregionNames = new[]\n {\n $\"{@var.Region}a\",\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/outscale/pulumi-outscale/sdk/go/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, \"loadBalancer01\", \u0026outscale.LoadBalancerArgs{\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(8080),\n\t\t\t\t\tBackendProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerPort: pulumi.Int(8080),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-public-load-balancer\"),\n\t\t\tSubregionNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(fmt.Sprintf(\"%va\", _var.Region)),\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 .listeners(LoadBalancerListenerArgs.builder()\n .backendPort(8080)\n .backendProtocol(\"HTTP\")\n .loadBalancerPort(8080)\n .loadBalancerProtocol(\"HTTP\")\n .build())\n .loadBalancerName(\"terraform-public-load-balancer\")\n .subregionNames(String.format(\"%sa\", var_.region()))\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 properties:\n listeners:\n - backendPort: 8080\n backendProtocol: HTTP\n loadBalancerPort: 8080\n loadBalancerProtocol: HTTP\n loadBalancerName: terraform-public-load-balancer\n subregionNames:\n - ${var.region}a\n tags:\n - key: name\n value: terraform-public-load-balancer\n```\n{{% /example %}}\n{{% example %}}\n### Create a load balancer in a Net\n\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(\"securityGroup01\", {\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(\"loadBalancer02\", {\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=[outscale.SubnetTagArgs(\n key=\"Name\",\n value=\"terraform-subnet-for-internal-load-balancer\",\n )])\nsecurity_group01 = outscale.SecurityGroup(\"securityGroup01\",\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=[outscale.SecurityGroupTagArgs(\n key=\"Name\",\n value=\"terraform-security-group-for-internal-load-balancer\",\n )])\nload_balancer02 = outscale.LoadBalancer(\"loadBalancer02\",\n load_balancer_name=\"terraform-private-load-balancer\",\n listeners=[outscale.LoadBalancerListenerArgs(\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=[outscale.LoadBalancerTagArgs(\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(\"securityGroup01\", 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(\"loadBalancer02\", 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/outscale/pulumi-outscale/sdk/go/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, \"securityGroup01\", \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, \"loadBalancer02\", \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.Int(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.Int(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)\n .backendProtocol(\"TCP\")\n .loadBalancerProtocol(\"TCP\")\n .loadBalancerPort(80)\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 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 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{{% /example %}}\n{{% example %}}\n### Create an internet-facing load balancer in a Net\n\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(\"internetService01\", {}, {\n dependsOn: [net02],\n});\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internetServiceLink01\", {\n internetServiceId: internetService01.internetServiceId,\n netId: net02.netId,\n});\nconst routeTable01 = new outscale.RouteTable(\"routeTable01\", {\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: \"10.0.0.0/0\",\n routeTableId: routeTable01.routeTableId,\n});\nconst routeTableLink01 = new outscale.RouteTableLink(\"routeTableLink01\", {\n routeTableId: routeTable01.routeTableId,\n subnetId: subnet02.subnetId,\n});\nconst loadBalancer03 = new outscale.LoadBalancer(\"loadBalancer03\", {\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=[outscale.SubnetTagArgs(\n key=\"Name\",\n value=\"terraform-security-group-for-load-balancer\",\n )])\ninternet_service01 = outscale.InternetService(\"internetService01\", opts=pulumi.ResourceOptions(depends_on=[net02]))\ninternet_service_link01 = outscale.InternetServiceLink(\"internetServiceLink01\",\n internet_service_id=internet_service01.internet_service_id,\n net_id=net02.net_id)\nroute_table01 = outscale.RouteTable(\"routeTable01\",\n net_id=net02.net_id,\n tags=[outscale.RouteTableTagArgs(\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=\"10.0.0.0/0\",\n route_table_id=route_table01.route_table_id)\nroute_table_link01 = outscale.RouteTableLink(\"routeTableLink01\",\n route_table_id=route_table01.route_table_id,\n subnet_id=subnet02.subnet_id)\nload_balancer03 = outscale.LoadBalancer(\"loadBalancer03\",\n load_balancer_name=\"terraform-internet-private-lb\",\n listeners=[\n outscale.LoadBalancerListenerArgs(\n backend_port=80,\n backend_protocol=\"TCP\",\n load_balancer_protocol=\"TCP\",\n load_balancer_port=80,\n ),\n outscale.LoadBalancerListenerArgs(\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=[outscale.LoadBalancerTagArgs(\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(\"internetService01\", new()\n {\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n net02,\n },\n });\n\n var internetServiceLink01 = new Outscale.InternetServiceLink(\"internetServiceLink01\", new()\n {\n InternetServiceId = internetService01.InternetServiceId,\n NetId = net02.NetId,\n });\n\n var routeTable01 = new Outscale.RouteTable(\"routeTable01\", 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 = \"10.0.0.0/0\",\n RouteTableId = routeTable01.RouteTableId,\n });\n\n var routeTableLink01 = new Outscale.RouteTableLink(\"routeTableLink01\", new()\n {\n RouteTableId = routeTable01.RouteTableId,\n SubnetId = subnet02.SubnetId,\n });\n\n var loadBalancer03 = new Outscale.LoadBalancer(\"loadBalancer03\", 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 = new[]\n {\n route01,\n routeTableLink01,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"internetService01\", 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, \"internetServiceLink01\", \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, \"routeTable01\", \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(\"10.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, \"routeTableLink01\", \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, \"loadBalancer03\", \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.Int(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.Int(80),\n\t\t\t\t},\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(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.Int(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(\"10.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)\n .backendProtocol(\"TCP\")\n .loadBalancerProtocol(\"TCP\")\n .loadBalancerPort(80)\n .build(),\n LoadBalancerListenerArgs.builder()\n .backendPort(8080)\n .backendProtocol(\"HTTP\")\n .loadBalancerProtocol(\"HTTP\")\n .loadBalancerPort(8080)\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 options:\n dependson:\n - ${net02}\n internetServiceLink01:\n type: outscale:InternetServiceLink\n properties:\n internetServiceId: ${internetService01.internetServiceId}\n netId: ${net02.netId}\n routeTable01:\n type: outscale:RouteTable\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: 10.0.0.0/0\n routeTableId: ${routeTable01.routeTableId}\n routeTableLink01:\n type: outscale:RouteTableLink\n properties:\n routeTableId: ${routeTable01.routeTableId}\n subnetId: ${subnet02.subnetId}\n loadBalancer03:\n type: outscale:LoadBalancer\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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA load balancer can be imported using its name. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/loadBalancer:LoadBalancer ImportedLbu Name-of-the-Lbu\n```\n\n ", + "properties": { + "accessLog": { + "$ref": "#/types/outscale:index/LoadBalancerAccessLog:LoadBalancerAccessLog", + "description": "Information about access logs.\n" + }, + "applicationStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerApplicationStickyCookiePolicy:LoadBalancerApplicationStickyCookiePolicy" + }, + "description": "The stickiness policies defined for the load balancer.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n" + }, + "dnsName": { + "type": "string", + "description": "The DNS name of the load balancer.\n" + }, + "healthCheck": { + "$ref": "#/types/outscale:index/LoadBalancerHealthCheck:LoadBalancerHealthCheck", + "description": "Information about the health check configuration.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerListener:LoadBalancerListener" + }, + "description": "One or more listeners to create.\n" + }, + "loadBalancerName": { + "type": "string", + "description": "The unique name of the load balancer (32 alphanumeric or hyphen characters maximum, but cannot start or end with a hyphen).\n" + }, + "loadBalancerStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerLoadBalancerStickyCookiePolicy:LoadBalancerLoadBalancerStickyCookiePolicy" + }, + "description": "The policies defined for the load balancer.\n" + }, + "loadBalancerType": { + "type": "string", + "description": "The type of load balancer: `internet-facing` or `internal`. 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" + }, + "sourceSecurityGroup": { + "$ref": "#/types/outscale:index/LoadBalancerSourceSecurityGroup: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/LoadBalancerTag:LoadBalancerTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "accessLog", + "applicationStickyCookiePolicies", + "backendVmIds", + "dnsName", + "healthCheck", + "listeners", + "loadBalancerName", + "loadBalancerStickyCookiePolicies", + "loadBalancerType", + "netId", + "publicIp", + "requestId", + "securedCookies", + "securityGroups", + "sourceSecurityGroup", + "subnets", + "subregionNames" + ], + "inputProperties": { + "accessLog": { + "$ref": "#/types/outscale:index/LoadBalancerAccessLog:LoadBalancerAccessLog", + "description": "Information about access logs.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerListener:LoadBalancerListener" + }, + "description": "One or more listeners to create.\n" + }, + "loadBalancerName": { + "type": "string", + "description": "The unique name of the load balancer (32 alphanumeric or hyphen characters maximum, but cannot start or end with a hyphen).\n", + "willReplaceOnChanges": true + }, + "loadBalancerType": { + "type": "string", + "description": "The type of load balancer: `internet-facing` or `internal`. Use this parameter only for load balancers in a Net.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerTag:LoadBalancerTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "requiredInputs": [ + "listeners", + "loadBalancerName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LoadBalancer resources.\n", + "properties": { + "accessLog": { + "$ref": "#/types/outscale:index/LoadBalancerAccessLog:LoadBalancerAccessLog", + "description": "Information about access logs.\n" + }, + "applicationStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerApplicationStickyCookiePolicy:LoadBalancerApplicationStickyCookiePolicy" + }, + "description": "The stickiness policies defined for the load balancer.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n" + }, + "dnsName": { + "type": "string", + "description": "The DNS name of the load balancer.\n" + }, + "healthCheck": { + "$ref": "#/types/outscale:index/LoadBalancerHealthCheck:LoadBalancerHealthCheck", + "description": "Information about the health check configuration.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerListener:LoadBalancerListener" + }, + "description": "One or more listeners to create.\n" + }, + "loadBalancerName": { + "type": "string", + "description": "The unique name of the load balancer (32 alphanumeric or hyphen characters maximum, but cannot start or end with a hyphen).\n", + "willReplaceOnChanges": true + }, + "loadBalancerStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerLoadBalancerStickyCookiePolicy:LoadBalancerLoadBalancerStickyCookiePolicy" + }, + "description": "The policies defined for the load balancer.\n" + }, + "loadBalancerType": { + "type": "string", + "description": "The type of load balancer: `internet-facing` or `internal`. Use this parameter only for load balancers in a Net.\n", + "willReplaceOnChanges": true + }, + "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" + }, + "sourceSecurityGroup": { + "$ref": "#/types/outscale:index/LoadBalancerSourceSecurityGroup: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", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerTag:LoadBalancerTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resource\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancer01 = new outscale.LoadBalancer(\"loadBalancer01\", {\n listeners: [\n {\n backendPort: 80,\n backendProtocol: \"HTTP\",\n loadBalancerPort: 80,\n loadBalancerProtocol: \"HTTP\",\n },\n {\n backendPort: 8080,\n backendProtocol: \"HTTPS\",\n loadBalancerPort: 8080,\n loadBalancerProtocol: \"HTTPS\",\n serverCertificateId: \"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\",\n },\n {\n backendPort: 1024,\n backendProtocol: \"TCP\",\n loadBalancerPort: 1024,\n loadBalancerProtocol: \"TCP\",\n },\n ],\n loadBalancerName: \"terraform-load-balancer\",\n subregionNames: [\"eu-west-2a\"],\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(\"loadBalancer01\",\n listeners=[\n outscale.LoadBalancerListenerArgs(\n backend_port=80,\n backend_protocol=\"HTTP\",\n load_balancer_port=80,\n load_balancer_protocol=\"HTTP\",\n ),\n outscale.LoadBalancerListenerArgs(\n backend_port=8080,\n backend_protocol=\"HTTPS\",\n load_balancer_port=8080,\n load_balancer_protocol=\"HTTPS\",\n server_certificate_id=\"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\",\n ),\n outscale.LoadBalancerListenerArgs(\n backend_port=1024,\n backend_protocol=\"TCP\",\n load_balancer_port=1024,\n load_balancer_protocol=\"TCP\",\n ),\n ],\n load_balancer_name=\"terraform-load-balancer\",\n subregion_names=[\"eu-west-2a\"],\n tags=[\n outscale.LoadBalancerTagArgs(\n key=\"name\",\n value=\"terraform-load-balancer\",\n ),\n outscale.LoadBalancerTagArgs(\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(\"loadBalancer01\", new()\n {\n Listeners = new[]\n {\n new Outscale.Inputs.LoadBalancerListenerArgs\n {\n BackendPort = 80,\n BackendProtocol = \"HTTP\",\n LoadBalancerPort = 80,\n LoadBalancerProtocol = \"HTTP\",\n },\n new Outscale.Inputs.LoadBalancerListenerArgs\n {\n BackendPort = 8080,\n BackendProtocol = \"HTTPS\",\n LoadBalancerPort = 8080,\n LoadBalancerProtocol = \"HTTPS\",\n ServerCertificateId = \"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\",\n },\n new Outscale.Inputs.LoadBalancerListenerArgs\n {\n BackendPort = 1024,\n BackendProtocol = \"TCP\",\n LoadBalancerPort = 1024,\n LoadBalancerProtocol = \"TCP\",\n },\n },\n LoadBalancerName = \"terraform-load-balancer\",\n SubregionNames = new[]\n {\n \"eu-west-2a\",\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/outscale/pulumi-outscale/sdk/go/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, \"loadBalancer01\", \u0026outscale.LoadBalancerArgs{\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tBackendProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerPort: pulumi.Int(80),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t},\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(8080),\n\t\t\t\t\tBackendProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\t\tLoadBalancerPort: pulumi.Int(8080),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"HTTPS\"),\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.Int(1024),\n\t\t\t\t\tBackendProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tLoadBalancerPort: pulumi.Int(1024),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t},\n\t\t\t},\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\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 .listeners( \n LoadBalancerListenerArgs.builder()\n .backendPort(80)\n .backendProtocol(\"HTTP\")\n .loadBalancerPort(80)\n .loadBalancerProtocol(\"HTTP\")\n .build(),\n LoadBalancerListenerArgs.builder()\n .backendPort(8080)\n .backendProtocol(\"HTTPS\")\n .loadBalancerPort(8080)\n .loadBalancerProtocol(\"HTTPS\")\n .serverCertificateId(\"arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\")\n .build(),\n LoadBalancerListenerArgs.builder()\n .backendPort(1024)\n .backendProtocol(\"TCP\")\n .loadBalancerPort(1024)\n .loadBalancerProtocol(\"TCP\")\n .build())\n .loadBalancerName(\"terraform-load-balancer\")\n .subregionNames(\"eu-west-2a\")\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 properties:\n listeners:\n - backendPort: 80\n backendProtocol: HTTP\n loadBalancerPort: 80\n loadBalancerProtocol: HTTP\n - backendPort: 8080\n backendProtocol: HTTPS\n loadBalancerPort: 8080\n loadBalancerProtocol: HTTPS\n serverCertificateId: arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\n - backendPort: 1024\n backendProtocol: TCP\n loadBalancerPort: 1024\n loadBalancerProtocol: TCP\n loadBalancerName: terraform-load-balancer\n subregionNames:\n - eu-west-2a\n tags:\n - key: name\n value: terraform-load-balancer\n - key: platform\n value: eu-west-2\n```\n{{% /example %}}\n{{% example %}}\n### Update health check\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst attributes01 = new outscale.LoadBalancerAttributes(\"attributes01\", {\n loadBalancerName: outscale_load_balancer.load_balancer01.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=outscale_load_balancer[\"load_balancer01\"][\"id\"],\n health_check=outscale.LoadBalancerAttributesHealthCheckArgs(\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 = outscale_load_balancer.Load_balancer01.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/outscale/pulumi-outscale/sdk/go/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(outscale_load_balancer.Load_balancer01.Id),\n\t\t\tHealthCheck: \u0026outscale.LoadBalancerAttributesHealthCheckArgs{\n\t\t\t\tHealthyThreshold: pulumi.Int(10),\n\t\t\t\tCheckInterval: pulumi.Int(30),\n\t\t\t\tPath: pulumi.String(\"/index.html\"),\n\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\t\tTimeout: pulumi.Int(5),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(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(outscale_load_balancer.load_balancer01().id())\n .healthCheck(LoadBalancerAttributesHealthCheckArgs.builder()\n .healthyThreshold(10)\n .checkInterval(30)\n .path(\"/index.html\")\n .port(8080)\n .protocol(\"HTTPS\")\n .timeout(5)\n .unhealthyThreshold(5)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attributes01:\n type: outscale:LoadBalancerAttributes\n properties:\n loadBalancerName: ${outscale_load_balancer.load_balancer01.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{{% /example %}}\n{{% example %}}\n### Update access log\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst attributes02 = new outscale.LoadBalancerAttributes(\"attributes02\", {\n loadBalancerName: outscale_load_balancer.load_balancer01.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=outscale_load_balancer[\"load_balancer01\"][\"id\"],\n access_log=outscale.LoadBalancerAttributesAccessLogArgs(\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 = outscale_load_balancer.Load_balancer01.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/outscale/pulumi-outscale/sdk/go/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(outscale_load_balancer.Load_balancer01.Id),\n\t\t\tAccessLog: \u0026outscale.LoadBalancerAttributesAccessLogArgs{\n\t\t\t\tPublicationInterval: pulumi.Int(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(outscale_load_balancer.load_balancer01().id())\n .accessLog(LoadBalancerAttributesAccessLogArgs.builder()\n .publicationInterval(5)\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: ${outscale_load_balancer.load_balancer01.id}\n accessLog:\n publicationInterval: 5\n isEnabled: true\n osuBucketName: terraform-access-logs\n osuBucketPrefix: access-logs-01234\n```\n{{% /example %}}\n{{% example %}}\n### Update policies\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst attributes03 = new outscale.LoadBalancerAttributes(\"attributes03\", {\n loadBalancerName: outscale_load_balancer.load_balancer01.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=outscale_load_balancer[\"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 = outscale_load_balancer.Load_balancer01.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/outscale/pulumi-outscale/sdk/go/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(outscale_load_balancer.Load_balancer01.Id),\n\t\t\tLoadBalancerPort: pulumi.Int(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(outscale_load_balancer.load_balancer01().id())\n .loadBalancerPort(80)\n .policyNames(\"policy-name-01\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attributes03:\n type: outscale:LoadBalancerAttributes\n properties:\n loadBalancerName: ${outscale_load_balancer.load_balancer01.id}\n loadBalancerPort: 80\n policyNames:\n - policy-name-01\n```\n{{% /example %}}\n{{% example %}}\n### Update SSL certificate\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst attributes04 = new outscale.LoadBalancerAttributes(\"attributes04\", {\n loadBalancerName: outscale_load_balancer.load_balancer01.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=outscale_load_balancer[\"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 = outscale_load_balancer.Load_balancer01.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/outscale/pulumi-outscale/sdk/go/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(outscale_load_balancer.Load_balancer01.Id),\n\t\t\tLoadBalancerPort: pulumi.Int(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(outscale_load_balancer.load_balancer01().id())\n .loadBalancerPort(8080)\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: ${outscale_load_balancer.load_balancer01.id}\n loadBalancerPort: 8080\n serverCertificateId: arn:aws:iam::012345678910:server-certificate/MyCertificates/Certificate\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "accessLog": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesAccessLog:LoadBalancerAttributesAccessLog", + "description": "Information about access logs.\n" + }, + "applicationStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesApplicationStickyCookiePolicy:LoadBalancerAttributesApplicationStickyCookiePolicy" + }, + "description": "The stickiness policies defined for the load balancer.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n" + }, + "dnsName": { + "type": "string", + "description": "The DNS name of the load balancer.\n" + }, + "healthCheck": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesHealthCheck:LoadBalancerAttributesHealthCheck", + "description": "Information about the health check configuration.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesListener:LoadBalancerAttributesListener" + }, + "description": "The listeners for the load balancer.\n" + }, + "loadBalancerName": { + "type": "string", + "description": "The name of the load balancer.\n" + }, + "loadBalancerPort": { + "type": "integer", + "description": "The port on which the load balancer is listening (between `1` and `65535`, both included). This parameter is required if you want to update the server certificate.\n" + }, + "loadBalancerStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesLoadBalancerStickyCookiePolicy: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 `load_balancer_type` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf `load_balancer_type` is `internal`, 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 `load_balancer_port` parameter.\n" + }, + "sourceSecurityGroup": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesSourceSecurityGroup: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/LoadBalancerAttributesTag:LoadBalancerAttributesTag" + }, + "description": "One or more tags associated with the load balancer.\n" + } + }, + "required": [ + "accessLog", + "applicationStickyCookiePolicies", + "backendVmIds", + "dnsName", + "healthCheck", + "listeners", + "loadBalancerName", + "loadBalancerStickyCookiePolicies", + "loadBalancerType", + "requestId", + "securityGroups", + "sourceSecurityGroup", + "subnets", + "subregionNames", + "tags" + ], + "inputProperties": { + "accessLog": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesAccessLog:LoadBalancerAttributesAccessLog", + "description": "Information about access logs.\n", + "willReplaceOnChanges": true + }, + "healthCheck": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesHealthCheck:LoadBalancerAttributesHealthCheck", + "description": "Information about the health check configuration.\n", + "willReplaceOnChanges": true + }, + "loadBalancerName": { + "type": "string", + "description": "The name of the load balancer.\n", + "willReplaceOnChanges": true + }, + "loadBalancerPort": { + "type": "integer", + "description": "The port on which the load balancer is listening (between `1` and `65535`, both included). This parameter is required if you want to update the server certificate.\n", + "willReplaceOnChanges": true + }, + "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 `load_balancer_port` parameter.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesTag:LoadBalancerAttributesTag" + }, + "description": "One or more tags associated with the load balancer.\n" + } + }, + "requiredInputs": [ + "loadBalancerName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LoadBalancerAttributes resources.\n", + "properties": { + "accessLog": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesAccessLog:LoadBalancerAttributesAccessLog", + "description": "Information about access logs.\n", + "willReplaceOnChanges": true + }, + "applicationStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesApplicationStickyCookiePolicy:LoadBalancerAttributesApplicationStickyCookiePolicy" + }, + "description": "The stickiness policies defined for the load balancer.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n" + }, + "dnsName": { + "type": "string", + "description": "The DNS name of the load balancer.\n" + }, + "healthCheck": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesHealthCheck:LoadBalancerAttributesHealthCheck", + "description": "Information about the health check configuration.\n", + "willReplaceOnChanges": true + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesListener:LoadBalancerAttributesListener" + }, + "description": "The listeners for the load balancer.\n" + }, + "loadBalancerName": { + "type": "string", + "description": "The name of the load balancer.\n", + "willReplaceOnChanges": true + }, + "loadBalancerPort": { + "type": "integer", + "description": "The port on which the load balancer is listening (between `1` and `65535`, both included). This parameter is required if you want to update the server certificate.\n", + "willReplaceOnChanges": true + }, + "loadBalancerStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesLoadBalancerStickyCookiePolicy: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 `load_balancer_type` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf `load_balancer_type` is `internal`, the load balancer has a public DNS name that resolves to a private IP.\n", + "willReplaceOnChanges": true + }, + "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 `load_balancer_port` parameter.\n", + "willReplaceOnChanges": true + }, + "sourceSecurityGroup": { + "$ref": "#/types/outscale:index/LoadBalancerAttributesSourceSecurityGroup: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/LoadBalancerAttributesTag:LoadBalancerAttributesTag" + }, + "description": "One or more tags associated with the load balancer.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create a load balancer policy based on browser\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancer01 = new outscale.LoadBalancer(\"loadBalancer01\", {\n listeners: [{\n backendPort: 8080,\n backendProtocol: \"HTTP\",\n loadBalancerPort: 8080,\n loadBalancerProtocol: \"HTTP\",\n }],\n loadBalancerName: \"terraform-lb-for-browser-policy\",\n subregionNames: [\"eu-west-2a\"],\n});\nconst loadBalancerPolicy01 = new outscale.LoadBalancerPolicy(\"loadBalancerPolicy01\", {\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(\"loadBalancer01\",\n listeners=[outscale.LoadBalancerListenerArgs(\n backend_port=8080,\n backend_protocol=\"HTTP\",\n load_balancer_port=8080,\n load_balancer_protocol=\"HTTP\",\n )],\n load_balancer_name=\"terraform-lb-for-browser-policy\",\n subregion_names=[\"eu-west-2a\"])\nload_balancer_policy01 = outscale.LoadBalancerPolicy(\"loadBalancerPolicy01\",\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(\"loadBalancer01\", new()\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 LoadBalancerName = \"terraform-lb-for-browser-policy\",\n SubregionNames = new[]\n {\n \"eu-west-2a\",\n },\n });\n\n var loadBalancerPolicy01 = new Outscale.LoadBalancerPolicy(\"loadBalancerPolicy01\", 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/outscale/pulumi-outscale/sdk/go/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, \"loadBalancer01\", \u0026outscale.LoadBalancerArgs{\n\t\t\tListeners: outscale.LoadBalancerListenerArray{\n\t\t\t\t\u0026outscale.LoadBalancerListenerArgs{\n\t\t\t\t\tBackendPort: pulumi.Int(8080),\n\t\t\t\t\tBackendProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t\tLoadBalancerPort: pulumi.Int(8080),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\t},\n\t\t\t},\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewLoadBalancerPolicy(ctx, \"loadBalancerPolicy01\", \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 .listeners(LoadBalancerListenerArgs.builder()\n .backendPort(8080)\n .backendProtocol(\"HTTP\")\n .loadBalancerPort(8080)\n .loadBalancerProtocol(\"HTTP\")\n .build())\n .loadBalancerName(\"terraform-lb-for-browser-policy\")\n .subregionNames(\"eu-west-2a\")\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 properties:\n listeners:\n - backendPort: 8080\n backendProtocol: HTTP\n loadBalancerPort: 8080\n loadBalancerProtocol: HTTP\n loadBalancerName: terraform-lb-for-browser-policy\n subregionNames:\n - eu-west-2a\n loadBalancerPolicy01:\n type: outscale:LoadBalancerPolicy\n properties:\n loadBalancerName: terraform-lb-for-browser-policy\n policyName: terraform-lb-browser-policy\n policyType: load_balancer\n```\n{{% /example %}}\n{{% example %}}\n### Create a load balancer policy based on application cookie\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancer02 = new outscale.LoadBalancer(\"loadBalancer02\", {\n loadBalancerName: \"terraform-lb-for-app-policy\",\n subregionNames: [`${_var.region}b`],\n listeners: [{\n loadBalancerPort: 80,\n loadBalancerProtocol: \"TCP\",\n backendPort: 80,\n backendProtocol: \"TCP\",\n }],\n});\nconst loadBalancerPolicy02 = new outscale.LoadBalancerPolicy(\"loadBalancerPolicy02\", {\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(\"loadBalancer02\",\n load_balancer_name=\"terraform-lb-for-app-policy\",\n subregion_names=[f\"{var['region']}b\"],\n listeners=[outscale.LoadBalancerListenerArgs(\n load_balancer_port=80,\n load_balancer_protocol=\"TCP\",\n backend_port=80,\n backend_protocol=\"TCP\",\n )])\nload_balancer_policy02 = outscale.LoadBalancerPolicy(\"loadBalancerPolicy02\",\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(\"loadBalancer02\", new()\n {\n LoadBalancerName = \"terraform-lb-for-app-policy\",\n SubregionNames = new[]\n {\n $\"{@var.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(\"loadBalancerPolicy02\", new()\n {\n LoadBalancerName = loadBalancer02.LoadBalancerName,\n PolicyName = \"terraform-lb-app-policy\",\n PolicyType = \"app\",\n CookieName = \"cookie01\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n loadBalancer02,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"loadBalancer02\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-lb-for-app-policy\"),\n\t\t\tSubregionNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(fmt.Sprintf(\"%vb\", _var.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.Int(80),\n\t\t\t\t\tLoadBalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tBackendPort: pulumi.Int(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, \"loadBalancerPolicy02\", \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\", var_.region()))\n .listeners(LoadBalancerListenerArgs.builder()\n .loadBalancerPort(80)\n .loadBalancerProtocol(\"TCP\")\n .backendPort(80)\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 properties:\n loadBalancerName: terraform-lb-for-app-policy\n subregionNames:\n - ${var.region}b\n listeners:\n - loadBalancerPort: 80\n loadBalancerProtocol: TCP\n backendPort: 80\n backendProtocol: TCP\n loadBalancerPolicy02:\n type: outscale:LoadBalancerPolicy\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{{% /example %}}\n{{% /examples %}}", + "properties": { + "accessLog": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyAccessLog:LoadBalancerPolicyAccessLog", + "description": "Information about access logs.\n" + }, + "applicationStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyApplicationStickyCookiePolicy:LoadBalancerPolicyApplicationStickyCookiePolicy" + }, + "description": "The stickiness policies defined for the load balancer.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n" + }, + "cookieExpirationPeriod": { + "type": "integer" + }, + "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" + }, + "healthCheck": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyHealthCheck:LoadBalancerPolicyHealthCheck", + "description": "Information about the health check configuration.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyListener: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" + }, + "loadBalancerStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyLoadBalancerStickyCookiePolicy: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 `load_balancer_type` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf `load_balancer_type` is `internal`, 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 name of the policy. This name must be unique and consist of alphanumeric characters and dashes (-).\n" + }, + "policyType": { + "type": "string", + "description": "The type of stickiness policy you want to create: `app` or `load_balancer`.\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" + }, + "sourceSecurityGroup": { + "$ref": "#/types/outscale:index/LoadBalancerPolicySourceSecurityGroup: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/LoadBalancerPolicyTag:LoadBalancerPolicyTag" + }, + "description": "One or more tags associated with the load balancer.\n" + } + }, + "required": [ + "accessLog", + "applicationStickyCookiePolicies", + "backendVmIds", + "cookieExpirationPeriod", + "cookieName", + "dnsName", + "healthCheck", + "listeners", + "loadBalancerName", + "loadBalancerStickyCookiePolicies", + "loadBalancerType", + "netId", + "policyName", + "policyType", + "publicIp", + "requestId", + "securedCookies", + "securityGroups", + "sourceSecurityGroup", + "subnets", + "subregionNames", + "tags" + ], + "inputProperties": { + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n", + "willReplaceOnChanges": true + }, + "cookieExpirationPeriod": { + "type": "integer", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "loadBalancerName": { + "type": "string", + "description": "The name of the load balancer for which you want to create a policy.\n", + "willReplaceOnChanges": true + }, + "loadBalancerType": { + "type": "string", + "description": "The type of load balancer. Valid only for load balancers in a Net.\u003cbr /\u003e\nIf `load_balancer_type` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf `load_balancer_type` is `internal`, the load balancer has a public DNS name that resolves to a private IP.\n", + "willReplaceOnChanges": true + }, + "policyName": { + "type": "string", + "description": "The name of the policy. This name must be unique and consist of alphanumeric characters and dashes (-).\n", + "willReplaceOnChanges": true + }, + "policyType": { + "type": "string", + "description": "The type of stickiness policy you want to create: `app` or `load_balancer`.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "subnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the Subnet in which the load balancer was created.\n", + "willReplaceOnChanges": true + }, + "subregionNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the Subregion in which the load balancer was created.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyTag:LoadBalancerPolicyTag" + }, + "description": "One or more tags associated with the load balancer.\n" + } + }, + "requiredInputs": [ + "loadBalancerName", + "policyName", + "policyType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LoadBalancerPolicy resources.\n", + "properties": { + "accessLog": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyAccessLog:LoadBalancerPolicyAccessLog", + "description": "Information about access logs.\n" + }, + "applicationStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyApplicationStickyCookiePolicy:LoadBalancerPolicyApplicationStickyCookiePolicy" + }, + "description": "The stickiness policies defined for the load balancer.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n", + "willReplaceOnChanges": true + }, + "cookieExpirationPeriod": { + "type": "integer", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "dnsName": { + "type": "string", + "description": "The DNS name of the load balancer.\n", + "willReplaceOnChanges": true + }, + "healthCheck": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyHealthCheck:LoadBalancerPolicyHealthCheck", + "description": "Information about the health check configuration.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyListener: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", + "willReplaceOnChanges": true + }, + "loadBalancerStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyLoadBalancerStickyCookiePolicy: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 `load_balancer_type` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf `load_balancer_type` is `internal`, the load balancer has a public DNS name that resolves to a private IP.\n", + "willReplaceOnChanges": true + }, + "netId": { + "type": "string", + "description": "The ID of the Net for the load balancer.\n" + }, + "policyName": { + "type": "string", + "description": "The name of the policy. This name must be unique and consist of alphanumeric characters and dashes (-).\n", + "willReplaceOnChanges": true + }, + "policyType": { + "type": "string", + "description": "The type of stickiness policy you want to create: `app` or `load_balancer`.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "sourceSecurityGroup": { + "$ref": "#/types/outscale:index/LoadBalancerPolicySourceSecurityGroup: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", + "willReplaceOnChanges": true + }, + "subregionNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the Subregion in which the load balancer was created.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/LoadBalancerPolicyTag:LoadBalancerPolicyTag" + }, + "description": "One or more tags associated with the load balancer.\n" + } + }, + "type": "object" + } + }, + "outscale:index/loadBalancerVms:LoadBalancerVms": { + "description": "Manages load balancer 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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst outscaleVm01 = new outscale.Vm(\"outscaleVm01\", {\n imageId: \"ami-12345678\",\n vmType: \"t2.small\",\n keypairName: _var.keypair_name,\n});\nconst outscaleVm02 = new outscale.Vm(\"outscaleVm02\", {\n imageId: _var.image_id,\n vmType: _var.vm_type,\n keypairName: _var.keypair_name,\n});\nconst loadBalancer01 = new outscale.LoadBalancer(\"loadBalancer01\", {\n loadBalancerName: \"load-balancer-for-backend-vms\",\n subregionNames: [`${_var.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(\"outscaleVm01\",\n image_id=\"ami-12345678\",\n vm_type=\"t2.small\",\n keypair_name=var[\"keypair_name\"])\noutscale_vm02 = outscale.Vm(\"outscaleVm02\",\n image_id=var[\"image_id\"],\n vm_type=var[\"vm_type\"],\n keypair_name=var[\"keypair_name\"])\nload_balancer01 = outscale.LoadBalancer(\"loadBalancer01\",\n load_balancer_name=\"load-balancer-for-backend-vms\",\n subregion_names=[f\"{var['region']}a\"],\n listeners=[outscale.LoadBalancerListenerArgs(\n backend_port=80,\n backend_protocol=\"TCP\",\n load_balancer_protocol=\"TCP\",\n load_balancer_port=80,\n )],\n tags=[outscale.LoadBalancerTagArgs(\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(\"outscaleVm01\", new()\n {\n ImageId = \"ami-12345678\",\n VmType = \"t2.small\",\n KeypairName = @var.Keypair_name,\n });\n\n var outscaleVm02 = new Outscale.Vm(\"outscaleVm02\", new()\n {\n ImageId = @var.Image_id,\n VmType = @var.Vm_type,\n KeypairName = @var.Keypair_name,\n });\n\n var loadBalancer01 = new Outscale.LoadBalancer(\"loadBalancer01\", new()\n {\n LoadBalancerName = \"load-balancer-for-backend-vms\",\n SubregionNames = new[]\n {\n $\"{@var.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/outscale/pulumi-outscale/sdk/go/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, \"outscaleVm01\", \u0026outscale.VmArgs{\n\t\t\tImageId: pulumi.String(\"ami-12345678\"),\n\t\t\tVmType: pulumi.String(\"t2.small\"),\n\t\t\tKeypairName: pulumi.Any(_var.Keypair_name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewVm(ctx, \"outscaleVm02\", \u0026outscale.VmArgs{\n\t\t\tImageId: pulumi.Any(_var.Image_id),\n\t\t\tVmType: pulumi.Any(_var.Vm_type),\n\t\t\tKeypairName: pulumi.Any(_var.Keypair_name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewLoadBalancer(ctx, \"loadBalancer01\", \u0026outscale.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"load-balancer-for-backend-vms\"),\n\t\t\tSubregionNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(fmt.Sprintf(\"%va\", _var.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.Int(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.Int(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(\"t2.small\")\n .keypairName(var_.keypair_name())\n .build());\n\n var outscaleVm02 = new Vm(\"outscaleVm02\", VmArgs.builder() \n .imageId(var_.image_id())\n .vmType(var_.vm_type())\n .keypairName(var_.keypair_name())\n .build());\n\n var loadBalancer01 = new LoadBalancer(\"loadBalancer01\", LoadBalancerArgs.builder() \n .loadBalancerName(\"load-balancer-for-backend-vms\")\n .subregionNames(String.format(\"%sa\", var_.region()))\n .listeners(LoadBalancerListenerArgs.builder()\n .backendPort(80)\n .backendProtocol(\"TCP\")\n .loadBalancerProtocol(\"TCP\")\n .loadBalancerPort(80)\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 properties:\n imageId: ami-12345678\n vmType: t2.small\n keypairName: ${var.keypair_name}\n outscaleVm02:\n type: outscale:Vm\n properties:\n imageId: ${var.image_id}\n vmType: ${var.vm_type}\n keypairName: ${var.keypair_name}\n loadBalancer01:\n type: outscale:LoadBalancer\n properties:\n loadBalancerName: load-balancer-for-backend-vms\n subregionNames:\n - ${var.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{{% /example %}}\n{{% example %}}\n### Register VMs with a load balancer\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst outscaleLoadBalancerVms01 = new outscale.LoadBalancerVms(\"outscaleLoadBalancerVms01\", {\n loadBalancerName: \"load-balancer-for-backend-vms\",\n backendVmIds: [\n outscale_vm.outscale_vm01.vm_id,\n outscale_vm.outscale_vm_02.vm_id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\noutscale_load_balancer_vms01 = outscale.LoadBalancerVms(\"outscaleLoadBalancerVms01\",\n load_balancer_name=\"load-balancer-for-backend-vms\",\n backend_vm_ids=[\n outscale_vm[\"outscale_vm01\"][\"vm_id\"],\n outscale_vm[\"outscale_vm_02\"][\"vm_id\"],\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(\"outscaleLoadBalancerVms01\", new()\n {\n LoadBalancerName = \"load-balancer-for-backend-vms\",\n BackendVmIds = new[]\n {\n outscale_vm.Outscale_vm01.Vm_id,\n outscale_vm.Outscale_vm_02.Vm_id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"outscaleLoadBalancerVms01\", \u0026outscale.LoadBalancerVmsArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"load-balancer-for-backend-vms\"),\n\t\t\tBackendVmIds: pulumi.StringArray{\n\t\t\t\toutscale_vm.Outscale_vm01.Vm_id,\n\t\t\t\toutscale_vm.Outscale_vm_02.Vm_id,\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 outscale_vm.outscale_vm01().vm_id(),\n outscale_vm.outscale_vm_02().vm_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n outscaleLoadBalancerVms01:\n type: outscale:LoadBalancerVms\n properties:\n loadBalancerName: load-balancer-for-backend-vms\n backendVmIds:\n - ${outscale_vm.outscale_vm01.vm_id}\n - ${outscale_vm.outscale_vm_02.vm_id}\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs.\u003cbr /\u003e\nSpecifying the same ID several times has no effect as each back-end VM has equal weight.\n" + }, + "loadBalancerName": { + "type": "string", + "description": "The name of the load balancer.\n" + }, + "requestId": { + "type": "string" + } + }, + "required": [ + "backendVmIds", + "loadBalancerName", + "requestId" + ], + "inputProperties": { + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs.\u003cbr /\u003e\nSpecifying the same ID several times has no effect as each back-end VM has equal weight.\n", + "willReplaceOnChanges": true + }, + "loadBalancerName": { + "type": "string", + "description": "The name of the load balancer.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "backendVmIds", + "loadBalancerName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LoadBalancerVms resources.\n", + "properties": { + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs.\u003cbr /\u003e\nSpecifying the same ID several times has no effect as each back-end VM has equal weight.\n", + "willReplaceOnChanges": true + }, + "loadBalancerName": { + "type": "string", + "description": "The name of the load balancer.\n", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + } + }, + "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-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-natservice).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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(\"routeTable01\", {netId: net01.netId});\nconst outscaleRouteTableLink01 = new outscale.RouteTableLink(\"outscaleRouteTableLink01\", {\n subnetId: subnet01.subnetId,\n routeTableId: routeTable01.routeTableId,\n});\nconst internetService01 = new outscale.InternetService(\"internetService01\", {});\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internetServiceLink01\", {\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(\"publicIp01\", {});\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(\"routeTable01\", net_id=net01.net_id)\noutscale_route_table_link01 = outscale.RouteTableLink(\"outscaleRouteTableLink01\",\n subnet_id=subnet01.subnet_id,\n route_table_id=route_table01.route_table_id)\ninternet_service01 = outscale.InternetService(\"internetService01\")\ninternet_service_link01 = outscale.InternetServiceLink(\"internetServiceLink01\",\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(\"publicIp01\")\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(\"routeTable01\", new()\n {\n NetId = net01.NetId,\n });\n\n var outscaleRouteTableLink01 = new Outscale.RouteTableLink(\"outscaleRouteTableLink01\", new()\n {\n SubnetId = subnet01.SubnetId,\n RouteTableId = routeTable01.RouteTableId,\n });\n\n var internetService01 = new Outscale.InternetService(\"internetService01\");\n\n var internetServiceLink01 = new Outscale.InternetServiceLink(\"internetServiceLink01\", 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 = new[]\n {\n internetServiceLink01,\n },\n });\n\n var publicIp01 = new Outscale.PublicIp(\"publicIp01\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"routeTable01\", \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, \"outscaleRouteTableLink01\", \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, \"internetService01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternetServiceLink01, err := outscale.NewInternetServiceLink(ctx, \"internetServiceLink01\", \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, \"publicIp01\", 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 properties:\n netId: ${net01.netId}\n outscaleRouteTableLink01:\n type: outscale:RouteTableLink\n properties:\n subnetId: ${subnet01.subnetId}\n routeTableId: ${routeTable01.routeTableId}\n internetService01:\n type: outscale:InternetService\n internetServiceLink01:\n type: outscale:InternetServiceLink\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```\n{{% /example %}}\n{{% example %}}\n### Create a NAT service\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst natService01 = new outscale.NatService(\"natService01\", {\n subnetId: outscale_subnet.subnet01.subnet_id,\n publicIpId: outscale_public_ip.public_ip01.public_ip_id,\n}, {\n dependsOn: [outscale_route.route01],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnat_service01 = outscale.NatService(\"natService01\",\n subnet_id=outscale_subnet[\"subnet01\"][\"subnet_id\"],\n public_ip_id=outscale_public_ip[\"public_ip01\"][\"public_ip_id\"],\n opts=pulumi.ResourceOptions(depends_on=[outscale_route[\"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(\"natService01\", new()\n {\n SubnetId = outscale_subnet.Subnet01.Subnet_id,\n PublicIpId = outscale_public_ip.Public_ip01.Public_ip_id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n outscale_route.Route01,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"natService01\", \u0026outscale.NatServiceArgs{\n\t\t\tSubnetId: pulumi.Any(outscale_subnet.Subnet01.Subnet_id),\n\t\t\tPublicIpId: pulumi.Any(outscale_public_ip.Public_ip01.Public_ip_id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\toutscale_route.Route01,\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(outscale_subnet.subnet01().subnet_id())\n .publicIpId(outscale_public_ip.public_ip01().public_ip_id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(outscale_route.route01())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n natService01:\n type: outscale:NatService\n properties:\n subnetId: ${outscale_subnet.subnet01.subnet_id}\n publicIpId: ${outscale_public_ip.public_ip01.public_ip_id}\n options:\n dependson:\n - ${outscale_route.route01}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA NAT service can be imported using its ID. For exampleconsole\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" + }, + "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/NatServicePublicIp: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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\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/NatServiceTag:NatServiceTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "natServiceId", + "netId", + "publicIpId", + "publicIps", + "requestId", + "state", + "subnetId" + ], + "inputProperties": { + "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", + "willReplaceOnChanges": true + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet in which you want to create the NAT service.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NatServiceTag:NatServiceTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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" + }, + "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", + "willReplaceOnChanges": true + }, + "publicIps": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NatServicePublicIp: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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet in which you want to create the NAT service.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NatServiceTag:NatServiceTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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-VPCs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-net).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create a Net\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Create a Net with a network\n\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(\"publicIp01\", {});\nconst natService01 = new outscale.NatService(\"natService01\", {\n subnetId: subnet01.subnetId,\n publicIpId: publicIp01.publicIpId,\n});\nconst routeTable01 = new outscale.RouteTable(\"routeTable01\", {netId: net02.netId});\nconst internetService01 = new outscale.InternetService(\"internetService01\", {});\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(\"routeTableLink01\", {\n subnetId: subnet01.subnetId,\n routeTableId: routeTable01.id,\n});\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internetServiceLink01\", {\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(\"publicIp01\")\nnat_service01 = outscale.NatService(\"natService01\",\n subnet_id=subnet01.subnet_id,\n public_ip_id=public_ip01.public_ip_id)\nroute_table01 = outscale.RouteTable(\"routeTable01\", net_id=net02.net_id)\ninternet_service01 = outscale.InternetService(\"internetService01\")\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(\"routeTableLink01\",\n subnet_id=subnet01.subnet_id,\n route_table_id=route_table01.id)\ninternet_service_link01 = outscale.InternetServiceLink(\"internetServiceLink01\",\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(\"publicIp01\");\n\n var natService01 = new Outscale.NatService(\"natService01\", new()\n {\n SubnetId = subnet01.SubnetId,\n PublicIpId = publicIp01.PublicIpId,\n });\n\n var routeTable01 = new Outscale.RouteTable(\"routeTable01\", new()\n {\n NetId = net02.NetId,\n });\n\n var internetService01 = new Outscale.InternetService(\"internetService01\");\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(\"routeTableLink01\", new()\n {\n SubnetId = subnet01.SubnetId,\n RouteTableId = routeTable01.Id,\n });\n\n var internetServiceLink01 = new Outscale.InternetServiceLink(\"internetServiceLink01\", new()\n {\n NetId = net02.NetId,\n InternetServiceId = internetService01.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"publicIp01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewNatService(ctx, \"natService01\", \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, \"routeTable01\", \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, \"internetService01\", 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, \"routeTableLink01\", \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, \"internetServiceLink01\", \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 natService01:\n type: outscale:NatService\n properties:\n subnetId: ${subnet01.subnetId}\n publicIpId: ${publicIp01.publicIpId}\n routeTable01:\n type: outscale:RouteTable\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 properties:\n subnetId: ${subnet01.subnetId}\n routeTableId: ${routeTable01.id}\n internetService01:\n type: outscale:InternetService\n internetServiceLink01:\n type: outscale:InternetServiceLink\n properties:\n netId: ${net02.netId}\n internetServiceId: ${internetService01.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA Net can be imported using its ID. For exampleconsole\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 `default` 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 (`pending` \\| `available` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetTag: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 (`default` if a VM created in a Net can be launched with any tenancy, `dedicated` if it can be launched with dedicated tenancy VMs running on single-tenant hardware).\n" + } + }, + "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", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetTag: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 (`default` if a VM created in a Net can be launched with any tenancy, `dedicated` if it can be launched with dedicated tenancy VMs running on single-tenant hardware).\n", + "willReplaceOnChanges": true + } + }, + "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 `default` 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", + "willReplaceOnChanges": true + }, + "netId": { + "type": "string", + "description": "The ID of the Net.\n" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the Net (`pending` \\| `available` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetTag: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 (`default` if a VM created in a Net can be launched with any tenancy, `dedicated` if it can be launched with dedicated tenancy VMs running on single-tenant hardware).\n", + "willReplaceOnChanges": true + } + }, + "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-VPC-Endpoints.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netaccesspoint).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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(\"routeTable01\", {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(\"routeTable01\", 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(\"routeTable01\", new()\n {\n NetId = net01.NetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"routeTable01\", \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 properties:\n netId: ${net01.netId}\n```\n{{% /example %}}\n{{% example %}}\n### Create a Net access point\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netAccessPoint01 = new outscale.NetAccessPoint(\"netAccessPoint01\", {\n netId: outscale_net.net01.net_id,\n routeTableIds: [outscale_route_table.route_table01.route_table_id],\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(\"netAccessPoint01\",\n net_id=outscale_net[\"net01\"][\"net_id\"],\n route_table_ids=[outscale_route_table[\"route_table01\"][\"route_table_id\"]],\n service_name=\"com.outscale.eu-west-2.api\",\n tags=[outscale.NetAccessPointTagArgs(\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(\"netAccessPoint01\", new()\n {\n NetId = outscale_net.Net01.Net_id,\n RouteTableIds = new[]\n {\n outscale_route_table.Route_table01.Route_table_id,\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/outscale/pulumi-outscale/sdk/go/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, \"netAccessPoint01\", \u0026outscale.NetAccessPointArgs{\n\t\t\tNetId: pulumi.Any(outscale_net.Net01.Net_id),\n\t\t\tRouteTableIds: pulumi.StringArray{\n\t\t\t\toutscale_route_table.Route_table01.Route_table_id,\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(outscale_net.net01().net_id())\n .routeTableIds(outscale_route_table.route_table01().route_table_id())\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 properties:\n netId: ${outscale_net.net01.net_id}\n routeTableIds:\n - ${outscale_route_table.route_table01.route_table_id}\n serviceName: com.outscale.eu-west-2.api\n tags:\n - key: name\n value: terraform-net-access-point\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA Net access point can be imported using its ID. For exampleconsole\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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetAccessPointTag:NetAccessPointTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "netAccessPointId", + "netId", + "requestId", + "serviceName", + "state" + ], + "inputProperties": { + "netId": { + "type": "string", + "description": "The ID of the Net.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetAccessPointTag:NetAccessPointTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "state": { + "type": "string", + "description": "The state of the Net access point (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetAccessPointTag:NetAccessPointTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resource\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Associate a DHCP option set to a Net\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netAttributes01 = new outscale.NetAttributes(\"netAttributes01\", {\n netId: outscale_net.net01.net_id,\n dhcpOptionsSetId: _var.dhcp_options_set_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_attributes01 = outscale.NetAttributes(\"netAttributes01\",\n net_id=outscale_net[\"net01\"][\"net_id\"],\n dhcp_options_set_id=var[\"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(\"netAttributes01\", new()\n {\n NetId = outscale_net.Net01.Net_id,\n DhcpOptionsSetId = @var.Dhcp_options_set_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"netAttributes01\", \u0026outscale.NetAttributesArgs{\n\t\t\tNetId: pulumi.Any(outscale_net.Net01.Net_id),\n\t\t\tDhcpOptionsSetId: pulumi.Any(_var.Dhcp_options_set_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.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(outscale_net.net01().net_id())\n .dhcpOptionsSetId(var_.dhcp_options_set_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n netAttributes01:\n type: outscale:NetAttributes\n properties:\n netId: ${outscale_net.net01.net_id}\n dhcpOptionsSetId: ${var.dhcp_options_set_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA Net attribute can be imported using the Net ID. For exampleconsole\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 `default` 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 (`pending` \\| `available` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetAttributesTag:NetAttributesTag" + }, + "description": "One or more tags associated with the Net.\n" + }, + "tenancy": { + "type": "string", + "description": "The VM tenancy in a Net.\n" + } + }, + "required": [ + "dhcpOptionsSetId", + "ipRange", + "netId", + "requestId", + "state", + "tags", + "tenancy" + ], + "inputProperties": { + "dhcpOptionsSetId": { + "type": "string", + "description": "The ID of the DHCP options set (or `default` if you want to associate the default one).\n" + }, + "netId": { + "type": "string", + "description": "The ID of the Net.\n" + } + }, + "requiredInputs": [ + "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 `default` 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 (`pending` \\| `available` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetAttributesTag:NetAttributesTag" + }, + "description": "One or more tags associated with the Net.\n" + }, + "tenancy": { + "type": "string", + "description": "The VM tenancy in a Net.\n" + } + }, + "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-VPC-Peering-Connections.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netpeering).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Peer Nets\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netPeering01 = new outscale.NetPeering(\"netPeering01\", {\n accepterNetId: outscale_net.net01.net_id,\n sourceNetId: outscale_net.net02.net_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_peering01 = outscale.NetPeering(\"netPeering01\",\n accepter_net_id=outscale_net[\"net01\"][\"net_id\"],\n source_net_id=outscale_net[\"net02\"][\"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 netPeering01 = new Outscale.NetPeering(\"netPeering01\", new()\n {\n AccepterNetId = outscale_net.Net01.Net_id,\n SourceNetId = outscale_net.Net02.Net_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"netPeering01\", \u0026outscale.NetPeeringArgs{\n\t\t\tAccepterNetId: pulumi.Any(outscale_net.Net01.Net_id),\n\t\t\tSourceNetId: pulumi.Any(outscale_net.Net02.Net_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.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(outscale_net.net01().net_id())\n .sourceNetId(outscale_net.net02().net_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n netPeering01:\n type: outscale:NetPeering\n properties:\n accepterNetId: ${outscale_net.net01.net_id}\n sourceNetId: ${outscale_net.net02.net_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA Net peering can be imported using its ID. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/netPeering:NetPeering ImportedNetPeering pcx-12345678\n```\n\n ", + "properties": { + "accepterNet": { + "$ref": "#/types/outscale:index/NetPeeringAccepterNet:NetPeeringAccepterNet", + "description": "Information about the accepter Net.\n" + }, + "accepterNetId": { + "type": "string", + "description": "The ID of the Net you want to connect with.\n" + }, + "netPeeringId": { + "type": "string", + "description": "The ID of the Net peering.\n" + }, + "requestId": { + "type": "string" + }, + "sourceNet": { + "$ref": "#/types/outscale:index/NetPeeringSourceNet:NetPeeringSourceNet", + "description": "Information about the source Net.\n" + }, + "sourceNetAccountId": { + "type": "string" + }, + "sourceNetId": { + "type": "string", + "description": "The ID of the Net you send the peering request from.\n" + }, + "state": { + "$ref": "#/types/outscale:index/NetPeeringState:NetPeeringState", + "description": "Information about the state of the Net peering.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetPeeringTag:NetPeeringTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "accepterNet", + "accepterNetId", + "netPeeringId", + "requestId", + "sourceNet", + "sourceNetAccountId", + "sourceNetId", + "state" + ], + "inputProperties": { + "accepterNetId": { + "type": "string", + "description": "The ID of the Net you want to connect with.\n", + "willReplaceOnChanges": true + }, + "sourceNetAccountId": { + "type": "string", + "willReplaceOnChanges": true + }, + "sourceNetId": { + "type": "string", + "description": "The ID of the Net you send the peering request from.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetPeeringTag:NetPeeringTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "requiredInputs": [ + "accepterNetId", + "sourceNetId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering NetPeering resources.\n", + "properties": { + "accepterNet": { + "$ref": "#/types/outscale:index/NetPeeringAccepterNet:NetPeeringAccepterNet", + "description": "Information about the accepter Net.\n" + }, + "accepterNetId": { + "type": "string", + "description": "The ID of the Net you want to connect with.\n", + "willReplaceOnChanges": true + }, + "netPeeringId": { + "type": "string", + "description": "The ID of the Net peering.\n" + }, + "requestId": { + "type": "string" + }, + "sourceNet": { + "$ref": "#/types/outscale:index/NetPeeringSourceNet:NetPeeringSourceNet", + "description": "Information about the source Net.\n" + }, + "sourceNetAccountId": { + "type": "string", + "willReplaceOnChanges": true + }, + "sourceNetId": { + "type": "string", + "description": "The ID of the Net you send the peering request from.\n", + "willReplaceOnChanges": true + }, + "state": { + "$ref": "#/types/outscale:index/NetPeeringState:NetPeeringState", + "description": "Information about the state of the Net peering.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetPeeringTag:NetPeeringTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "type": "object" + } + }, + "outscale:index/netPeeringAcception:NetPeeringAcception": { + "description": "Manages a Net peering acceptation.\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-VPC-Peering-Connections.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netpeering).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst netPeeringAcceptation01 = new outscale.NetPeeringAcception(\"netPeeringAcceptation01\", {netPeeringId: outscale_net_peering.net_peering01.net_peering_id});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet_peering_acceptation01 = outscale.NetPeeringAcception(\"netPeeringAcceptation01\", net_peering_id=outscale_net_peering[\"net_peering01\"][\"net_peering_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 netPeeringAcceptation01 = new Outscale.NetPeeringAcception(\"netPeeringAcceptation01\", new()\n {\n NetPeeringId = outscale_net_peering.Net_peering01.Net_peering_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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.NewNetPeeringAcception(ctx, \"netPeeringAcceptation01\", \u0026outscale.NetPeeringAcceptionArgs{\n\t\t\tNetPeeringId: pulumi.Any(outscale_net_peering.Net_peering01.Net_peering_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.NetPeeringAcception;\nimport com.pulumi.outscale.NetPeeringAcceptionArgs;\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 NetPeeringAcception(\"netPeeringAcceptation01\", NetPeeringAcceptionArgs.builder() \n .netPeeringId(outscale_net_peering.net_peering01().net_peering_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n netPeeringAcceptation01:\n type: outscale:NetPeeringAcception\n properties:\n netPeeringId: ${outscale_net_peering.net_peering01.net_peering_id}\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "accepterNet": { + "$ref": "#/types/outscale:index/NetPeeringAcceptionAccepterNet:NetPeeringAcceptionAccepterNet", + "description": "Information about the accepter Net.\n" + }, + "accepterNetId": { + "type": "string" + }, + "netPeeringId": { + "type": "string", + "description": "The ID of the Net peering you want to accept.\n" + }, + "requestId": { + "type": "string" + }, + "sourceNet": { + "$ref": "#/types/outscale:index/NetPeeringAcceptionSourceNet:NetPeeringAcceptionSourceNet", + "description": "Information about the source Net.\n" + }, + "sourceNetId": { + "type": "string" + }, + "state": { + "$ref": "#/types/outscale:index/NetPeeringAcceptionState:NetPeeringAcceptionState", + "description": "Information about the state of the Net peering.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetPeeringAcceptionTag:NetPeeringAcceptionTag" + }, + "description": "One or more tags associated with the Net peering.\n" + } + }, + "required": [ + "accepterNet", + "accepterNetId", + "netPeeringId", + "requestId", + "sourceNet", + "sourceNetId", + "state", + "tags" + ], + "inputProperties": { + "netPeeringId": { + "type": "string", + "description": "The ID of the Net peering you want to accept.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "netPeeringId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering NetPeeringAcception resources.\n", + "properties": { + "accepterNet": { + "$ref": "#/types/outscale:index/NetPeeringAcceptionAccepterNet:NetPeeringAcceptionAccepterNet", + "description": "Information about the accepter Net.\n" + }, + "accepterNetId": { + "type": "string" + }, + "netPeeringId": { + "type": "string", + "description": "The ID of the Net peering you want to accept.\n", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "sourceNet": { + "$ref": "#/types/outscale:index/NetPeeringAcceptionSourceNet:NetPeeringAcceptionSourceNet", + "description": "Information about the source Net.\n" + }, + "sourceNetId": { + "type": "string" + }, + "state": { + "$ref": "#/types/outscale:index/NetPeeringAcceptionState:NetPeeringAcceptionState", + "description": "Information about the state of the Net peering.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NetPeeringAcceptionTag:NetPeeringAcceptionTag" + }, + "description": "One or more tags associated with the Net peering.\n" + } + }, + "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-FNIs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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(\"securityGroup01\", {\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(\"securityGroup01\",\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(\"securityGroup01\", 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/outscale/pulumi-outscale/sdk/go/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, \"securityGroup01\", \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 properties:\n description: Terraform security group for nic with private IPs\n securityGroupName: terraform-security-group-nic-ips\n netId: ${net01.netId}\n```\n{{% /example %}}\n{{% example %}}\n### Create a NIC\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nic01 = new outscale.Nic(\"nic01\", {subnetId: outscale_subnet.subnet01.subnet_id});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnic01 = outscale.Nic(\"nic01\", subnet_id=outscale_subnet[\"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 nic01 = new Outscale.Nic(\"nic01\", new()\n {\n SubnetId = outscale_subnet.Subnet01.Subnet_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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(outscale_subnet.Subnet01.Subnet_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.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(outscale_subnet.subnet01().subnet_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n nic01:\n type: outscale:Nic\n properties:\n subnetId: ${outscale_subnet.subnet01.subnet_id}\n```\n{{% /example %}}\n{{% example %}}\n### Create a NIC with private IP addresses\n\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: outscale_subnet.subnet01.subnet_id,\n securityGroupIds: [outscale_security_group.security_group01.security_group_id],\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=outscale_subnet[\"subnet01\"][\"subnet_id\"],\n security_group_ids=[outscale_security_group[\"security_group01\"][\"security_group_id\"]],\n private_ips=[\n outscale.NicPrivateIpArgs(\n is_primary=True,\n private_ip=\"10.0.0.1\",\n ),\n outscale.NicPrivateIpArgs(\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 = outscale_subnet.Subnet01.Subnet_id,\n SecurityGroupIds = new[]\n {\n outscale_security_group.Security_group01.Security_group_id,\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/outscale/pulumi-outscale/sdk/go/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(outscale_subnet.Subnet01.Subnet_id),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\toutscale_security_group.Security_group01.Security_group_id,\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(outscale_subnet.subnet01().subnet_id())\n .securityGroupIds(outscale_security_group.security_group01().security_group_id())\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: ${outscale_subnet.subnet01.subnet_id}\n securityGroupIds:\n - ${outscale_security_group.security_group01.security_group_id}\n privateIps:\n - isPrimary: true\n privateIp: 10.0.0.1\n - isPrimary: false\n privateIp: 10.0.0.2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA NIC can be imported using its ID. For exampleconsole\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. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "linkNic": { + "$ref": "#/types/outscale:index/NicLinkNic:NicLinkNic", + "description": "Information about the NIC attachment.\n" + }, + "linkPublicIp": { + "$ref": "#/types/outscale:index/NicLinkPublicIp: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" + }, + "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/NicPrivateIp: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 `subnet_id` 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/NicSecurityGroup:NicSecurityGroup" + }, + "description": "One or more IDs of security groups for the NIC.\n" + }, + "state": { + "type": "string", + "description": "The state of the NIC (`available` \\| `attaching` \\| `in-use` \\| `detaching`).\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/NicTag:NicTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "accountId", + "description", + "isSourceDestChecked", + "linkNic", + "linkPublicIp", + "macAddress", + "netId", + "nicId", + "privateDnsName", + "privateIp", + "privateIps", + "requestId", + "requesterManaged", + "securityGroups", + "state", + "subnetId", + "subregionName" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description for the NIC.\n" + }, + "privateIp": { + "type": "string", + "description": "The private IP of the NIC.\n" + }, + "privateIps": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/NicPrivateIp: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 `subnet_id` attribute.\u003cbr /\u003e\nIf you do not specify this attribute, a random private IP is selected within the IP range of the Subnet.\n", + "willReplaceOnChanges": true + }, + "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/NicTag:NicTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "linkNic": { + "$ref": "#/types/outscale:index/NicLinkNic:NicLinkNic", + "description": "Information about the NIC attachment.\n" + }, + "linkPublicIp": { + "$ref": "#/types/outscale:index/NicLinkPublicIp: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" + }, + "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/NicPrivateIp: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 `subnet_id` attribute.\u003cbr /\u003e\nIf you do not specify this attribute, a random private IP is selected within the IP range of the Subnet.\n", + "willReplaceOnChanges": true + }, + "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/NicSecurityGroup:NicSecurityGroup" + }, + "description": "One or more IDs of security groups for the NIC.\n" + }, + "state": { + "type": "string", + "description": "The state of the NIC (`available` \\| `attaching` \\| `in-use` \\| `detaching`).\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/NicTag:NicTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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-FNIs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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: `${_var.region}a`,\n ipRange: \"10.0.0.0/16\",\n netId: net01.netId,\n});\nconst vm01 = new outscale.Vm(\"vm01\", {\n imageId: _var.image_id,\n vmType: _var.vm_type,\n keypairName: _var.keypair_name,\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\"{var['region']}a\",\n ip_range=\"10.0.0.0/16\",\n net_id=net01.net_id)\nvm01 = outscale.Vm(\"vm01\",\n image_id=var[\"image_id\"],\n vm_type=var[\"vm_type\"],\n keypair_name=var[\"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 = $\"{@var.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 = @var.Image_id,\n VmType = @var.Vm_type,\n KeypairName = @var.Keypair_name,\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/outscale/pulumi-outscale/sdk/go/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.String(fmt.Sprintf(\"%va\", _var.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(_var.Image_id),\n\t\t\tVmType: pulumi.Any(_var.Vm_type),\n\t\t\tKeypairName: pulumi.Any(_var.Keypair_name),\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\", var_.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(var_.image_id())\n .vmType(var_.vm_type())\n .keypairName(var_.keypair_name())\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: ${var.region}a\n ipRange: 10.0.0.0/16\n netId: ${net01.netId}\n vm01:\n type: outscale:Vm\n properties:\n imageId: ${var.image_id}\n vmType: ${var.vm_type}\n keypairName: ${var.keypair_name}\n subnetId: ${subnet01.subnetId}\n nic01:\n type: outscale:Nic\n properties:\n subnetId: ${subnet01.subnetId}\n```\n{{% /example %}}\n{{% example %}}\n### Link a NIC to a VM\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nicLink01 = new outscale.NicLink(\"nicLink01\", {\n deviceNumber: 1,\n vmId: outscale_vm.vm01.vm_id,\n nicId: outscale_nic.nic01.nic_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnic_link01 = outscale.NicLink(\"nicLink01\",\n device_number=1,\n vm_id=outscale_vm[\"vm01\"][\"vm_id\"],\n nic_id=outscale_nic[\"nic01\"][\"nic_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 nicLink01 = new Outscale.NicLink(\"nicLink01\", new()\n {\n DeviceNumber = 1,\n VmId = outscale_vm.Vm01.Vm_id,\n NicId = outscale_nic.Nic01.Nic_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"nicLink01\", \u0026outscale.NicLinkArgs{\n\t\t\tDeviceNumber: pulumi.Int(1),\n\t\t\tVmId: pulumi.Any(outscale_vm.Vm01.Vm_id),\n\t\t\tNicId: pulumi.Any(outscale_nic.Nic01.Nic_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.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\")\n .vmId(outscale_vm.vm01().vm_id())\n .nicId(outscale_nic.nic01().nic_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n nicLink01:\n type: outscale:NicLink\n properties:\n deviceNumber: '1'\n vmId: ${outscale_vm.vm01.vm_id}\n nicId: ${outscale_nic.nic01.nic_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA NIC link can be imported using the NIC ID. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/nicLink:NicLink ImportedNicLink eni-12345678\n```\n\n ", + "properties": { + "deleteOnVmDeletion": { + "type": "boolean" + }, + "deviceNumber": { + "type": "integer", + "description": "The index of the VM device for the NIC attachment (between `1` and `7`, 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" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string" + }, + "vmAccountId": { + "type": "string" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM to which you want to attach the NIC.\n" + } + }, + "required": [ + "deleteOnVmDeletion", + "deviceNumber", + "linkNicId", + "nicId", + "requestId", + "state", + "vmAccountId", + "vmId" + ], + "inputProperties": { + "deviceNumber": { + "type": "integer", + "description": "The index of the VM device for the NIC attachment (between `1` and `7`, both included).\n", + "willReplaceOnChanges": true + }, + "nicId": { + "type": "string", + "description": "The ID of the NIC you want to attach.\n", + "willReplaceOnChanges": true + }, + "vmId": { + "type": "string", + "description": "The ID of the VM to which you want to attach the NIC.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "deviceNumber", + "nicId", + "vmId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering NicLink resources.\n", + "properties": { + "deleteOnVmDeletion": { + "type": "boolean" + }, + "deviceNumber": { + "type": "integer", + "description": "The index of the VM device for the NIC attachment (between `1` and `7`, both included).\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string" + }, + "vmAccountId": { + "type": "string" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM to which you want to attach the NIC.\n", + "willReplaceOnChanges": true + } + }, + "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-FNIs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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: `${_var.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\"{var['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 = $\"{@var.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/outscale/pulumi-outscale/sdk/go/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.String(fmt.Sprintf(\"%va\", _var.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\", var_.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: ${var.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{{% /example %}}\n{{% example %}}\n### Link a specific secondary private IP address to a NIC\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nicPrivateIp01 = new outscale.NicPrivateIp(\"nicPrivateIp01\", {\n nicId: outscale_nic.nic01.nic_id,\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(\"nicPrivateIp01\",\n nic_id=outscale_nic[\"nic01\"][\"nic_id\"],\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(\"nicPrivateIp01\", new()\n {\n NicId = outscale_nic.Nic01.Nic_id,\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/outscale/pulumi-outscale/sdk/go/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, \"nicPrivateIp01\", \u0026outscale.NicPrivateIpArgs{\n\t\t\tNicId: pulumi.Any(outscale_nic.Nic01.Nic_id),\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(outscale_nic.nic01().nic_id())\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 properties:\n nicId: ${outscale_nic.nic01.nic_id}\n privateIps:\n - 10.0.12.34\n - 10.0.12.35\n```\n{{% /example %}}\n{{% example %}}\n### Link several automatic secondary private IP addresses to a NIC\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst nicPrivateIp02 = new outscale.NicPrivateIp(\"nicPrivateIp02\", {\n nicId: outscale_nic.nic01.nic_id,\n secondaryPrivateIpCount: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnic_private_ip02 = outscale.NicPrivateIp(\"nicPrivateIp02\",\n nic_id=outscale_nic[\"nic01\"][\"nic_id\"],\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(\"nicPrivateIp02\", new()\n {\n NicId = outscale_nic.Nic01.Nic_id,\n SecondaryPrivateIpCount = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"nicPrivateIp02\", \u0026outscale.NicPrivateIpArgs{\n\t\t\tNicId: pulumi.Any(outscale_nic.Nic01.Nic_id),\n\t\t\tSecondaryPrivateIpCount: pulumi.Int(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(outscale_nic.nic01().nic_id())\n .secondaryPrivateIpCount(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n nicPrivateIp02:\n type: outscale:NicPrivateIp\n properties:\n nicId: ${outscale_nic.nic01.nic_id}\n secondaryPrivateIpCount: 2\n```\n{{% /example %}}\n{{% /examples %}}", + "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" + }, + "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": "integer", + "description": "The number of secondary private IPs to assign to the NIC.\n" + } + }, + "required": [ + "nicId", + "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", + "willReplaceOnChanges": true + }, + "nicId": { + "type": "string", + "description": "The ID of the NIC.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "secondaryPrivateIpCount": { + "type": "integer", + "description": "The number of secondary private IPs to assign to the NIC.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "nicId": { + "type": "string", + "description": "The ID of the NIC.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "secondaryPrivateIpCount": { + "type": "integer", + "description": "The number of secondary private IPs to assign to the NIC.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "outscale:index/outboundRule:OutboundRule": { + "properties": { + "flow": { + "type": "string" + }, + "fromPortRange": { + "type": "integer" + }, + "ipProtocol": { + "type": "string" + }, + "ipRange": { + "type": "string" + }, + "netId": { + "type": "string" + }, + "requestId": { + "type": "string" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/OutboundRuleRule:OutboundRuleRule" + } + }, + "securityGroupAccountIdToLink": { + "type": "string" + }, + "securityGroupId": { + "type": "string" + }, + "securityGroupName": { + "type": "string" + }, + "securityGroupNameToLink": { + "type": "string" + }, + "toPortRange": { + "type": "integer" + } + }, + "required": [ + "flow", + "netId", + "requestId", + "securityGroupId", + "securityGroupName" + ], + "inputProperties": { + "flow": { + "type": "string", + "willReplaceOnChanges": true + }, + "fromPortRange": { + "type": "integer", + "willReplaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "willReplaceOnChanges": true + }, + "ipRange": { + "type": "string", + "willReplaceOnChanges": true + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/OutboundRuleRule:OutboundRuleRule" + }, + "willReplaceOnChanges": true + }, + "securityGroupAccountIdToLink": { + "type": "string", + "willReplaceOnChanges": true + }, + "securityGroupId": { + "type": "string", + "willReplaceOnChanges": true + }, + "securityGroupNameToLink": { + "type": "string", + "willReplaceOnChanges": true + }, + "toPortRange": { + "type": "integer", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "flow", + "securityGroupId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering OutboundRule resources.\n", + "properties": { + "flow": { + "type": "string", + "willReplaceOnChanges": true + }, + "fromPortRange": { + "type": "integer", + "willReplaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "willReplaceOnChanges": true + }, + "ipRange": { + "type": "string", + "willReplaceOnChanges": true + }, + "netId": { + "type": "string" + }, + "requestId": { + "type": "string" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/OutboundRuleRule:OutboundRuleRule" + }, + "willReplaceOnChanges": true + }, + "securityGroupAccountIdToLink": { + "type": "string", + "willReplaceOnChanges": true + }, + "securityGroupId": { + "type": "string", + "willReplaceOnChanges": true + }, + "securityGroupName": { + "type": "string" + }, + "securityGroupNameToLink": { + "type": "string", + "willReplaceOnChanges": true + }, + "toPortRange": { + "type": "integer", + "willReplaceOnChanges": true + } + }, + "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-EIPs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-publicip).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst publicIp01 = new outscale.PublicIp(\"publicIp01\", {});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\npublic_ip01 = outscale.PublicIp(\"publicIp01\")\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(\"publicIp01\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"publicIp01\", 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```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA public IP can be imported using its ID. For exampleconsole\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" + }, + "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/PublicIpTag:PublicIpTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM the public IP is associated with (if any).\n" + } + }, + "required": [ + "linkPublicIpId", + "nicAccountId", + "nicId", + "privateIp", + "publicIp", + "publicIpId", + "requestId", + "vmId" + ], + "inputProperties": { + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/PublicIpTag:PublicIpTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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" + }, + "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/PublicIpTag:PublicIpTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "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-EIPs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-publicip).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst publicIp01 = new outscale.PublicIp(\"publicIp01\", {});\nconst vm01 = new outscale.Vm(\"vm01\", {\n imageId: _var.image_id,\n vmType: _var.vm_type,\n keypairName: _var.keypair_name,\n securityGroupIds: [_var.security_group_id],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\npublic_ip01 = outscale.PublicIp(\"publicIp01\")\nvm01 = outscale.Vm(\"vm01\",\n image_id=var[\"image_id\"],\n vm_type=var[\"vm_type\"],\n keypair_name=var[\"keypair_name\"],\n security_group_ids=[var[\"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(\"publicIp01\");\n\n var vm01 = new Outscale.Vm(\"vm01\", new()\n {\n ImageId = @var.Image_id,\n VmType = @var.Vm_type,\n KeypairName = @var.Keypair_name,\n SecurityGroupIds = new[]\n {\n @var.Security_group_id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"publicIp01\", 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(_var.Image_id),\n\t\t\tVmType: pulumi.Any(_var.Vm_type),\n\t\t\tKeypairName: pulumi.Any(_var.Keypair_name),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t_var.Security_group_id,\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(var_.image_id())\n .vmType(var_.vm_type())\n .keypairName(var_.keypair_name())\n .securityGroupIds(var_.security_group_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n publicIp01:\n type: outscale:PublicIp\n vm01:\n type: outscale:Vm\n properties:\n imageId: ${var.image_id}\n vmType: ${var.vm_type}\n keypairName: ${var.keypair_name}\n securityGroupIds:\n - ${var.security_group_id}\n```\n{{% /example %}}\n{{% example %}}\n### Link a public IP address to a VM\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst publicIpLink01 = new outscale.PublicIpLink(\"publicIpLink01\", {\n vmId: outscale_vm.vm01.vm_id,\n publicIp: outscale_public_ip.public_ip01.public_ip,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\npublic_ip_link01 = outscale.PublicIpLink(\"publicIpLink01\",\n vm_id=outscale_vm[\"vm01\"][\"vm_id\"],\n public_ip=outscale_public_ip[\"public_ip01\"][\"public_ip\"])\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(\"publicIpLink01\", new()\n {\n VmId = outscale_vm.Vm01.Vm_id,\n PublicIp = outscale_public_ip.Public_ip01.Public_ip,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"publicIpLink01\", \u0026outscale.PublicIpLinkArgs{\n\t\t\tVmId: pulumi.Any(outscale_vm.Vm01.Vm_id),\n\t\t\tPublicIp: pulumi.Any(outscale_public_ip.Public_ip01.Public_ip),\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(outscale_vm.vm01().vm_id())\n .publicIp(outscale_public_ip.public_ip01().public_ip())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n publicIpLink01:\n type: outscale:PublicIpLink\n properties:\n vmId: ${outscale_vm.vm01.vm_id}\n publicIp: ${outscale_public_ip.public_ip01.public_ip}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA public IP link can be imported using the public IP or the public IP link ID. For exampleconsole\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 EIP 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 `vm_id` 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 `public_ip_id` parameter.\n" + }, + "publicIpId": { + "type": "string", + "description": "The allocation ID of the public IP. This parameter is required unless you use the `public_ip` parameter.\n" + }, + "requestId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/PublicIpLinkTag:PublicIpLinkTag" + } + }, + "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 `nic_id` parameter instead. You cannot specify both parameters at the same time.\n" + } + }, + "required": [ + "linkPublicIpId", + "nicAccountId", + "nicId", + "privateIp", + "publicIp", + "publicIpId", + "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 EIP 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", + "willReplaceOnChanges": true + }, + "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 `vm_id` parameter instead. You cannot specify both parameters at the same time.\n", + "willReplaceOnChanges": true + }, + "privateIp": { + "type": "string", + "description": "(Net only) The primary or secondary private IP of the specified NIC. By default, the primary private IP.\n", + "willReplaceOnChanges": true + }, + "publicIp": { + "type": "string", + "description": "The public IP. This parameter is required unless you use the `public_ip_id` parameter.\n", + "willReplaceOnChanges": true + }, + "publicIpId": { + "type": "string", + "description": "The allocation ID of the public IP. This parameter is required unless you use the `public_ip` parameter.\n", + "willReplaceOnChanges": true + }, + "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 `nic_id` parameter instead. You cannot specify both parameters at the same time.\n", + "willReplaceOnChanges": true + } + }, + "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 EIP 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", + "willReplaceOnChanges": true + }, + "linkPublicIpId": { + "type": "string", + "description": "(Net only) The ID representing the association of the public IP with the VM or the NIC.\n", + "willReplaceOnChanges": true + }, + "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 `vm_id` parameter instead. You cannot specify both parameters at the same time.\n", + "willReplaceOnChanges": true + }, + "privateIp": { + "type": "string", + "description": "(Net only) The primary or secondary private IP of the specified NIC. By default, the primary private IP.\n", + "willReplaceOnChanges": true + }, + "publicIp": { + "type": "string", + "description": "The public IP. This parameter is required unless you use the `public_ip_id` parameter.\n", + "willReplaceOnChanges": true + }, + "publicIpId": { + "type": "string", + "description": "The allocation ID of the public IP. This parameter is required unless you use the `public_ip` parameter.\n", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/PublicIpLinkTag:PublicIpLinkTag" + } + }, + "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 `nic_id` parameter instead. You cannot specify both parameters at the same time.\n", + "willReplaceOnChanges": true + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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(\"routeTable01\", {netId: net01.netId});\nconst internetService01 = new outscale.InternetService(\"internetService01\", {});\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internetServiceLink01\", {\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(\"routeTable01\", net_id=net01.net_id)\ninternet_service01 = outscale.InternetService(\"internetService01\")\ninternet_service_link01 = outscale.InternetServiceLink(\"internetServiceLink01\",\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(\"routeTable01\", new()\n {\n NetId = net01.NetId,\n });\n\n var internetService01 = new Outscale.InternetService(\"internetService01\");\n\n var internetServiceLink01 = new Outscale.InternetServiceLink(\"internetServiceLink01\", new()\n {\n InternetServiceId = internetService01.InternetServiceId,\n NetId = net01.NetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"routeTable01\", \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, \"internetService01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewInternetServiceLink(ctx, \"internetServiceLink01\", \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 properties:\n netId: ${net01.netId}\n internetService01:\n type: outscale:InternetService\n internetServiceLink01:\n type: outscale:InternetServiceLink\n properties:\n internetServiceId: ${internetService01.internetServiceId}\n netId: ${net01.netId}\n```\n{{% /example %}}\n{{% example %}}\n### Create a route to an Internet service\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst route01 = new outscale.Route(\"route01\", {\n gatewayId: outscale_internet_service.internet_service01.internet_service_id,\n destinationIpRange: \"0.0.0.0/0\",\n routeTableId: outscale_route_table.route_table01.route_table_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nroute01 = outscale.Route(\"route01\",\n gateway_id=outscale_internet_service[\"internet_service01\"][\"internet_service_id\"],\n destination_ip_range=\"0.0.0.0/0\",\n route_table_id=outscale_route_table[\"route_table01\"][\"route_table_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 route01 = new Outscale.Route(\"route01\", new()\n {\n GatewayId = outscale_internet_service.Internet_service01.Internet_service_id,\n DestinationIpRange = \"0.0.0.0/0\",\n RouteTableId = outscale_route_table.Route_table01.Route_table_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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(outscale_internet_service.Internet_service01.Internet_service_id),\n\t\t\tDestinationIpRange: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tRouteTableId: pulumi.Any(outscale_route_table.Route_table01.Route_table_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.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(outscale_internet_service.internet_service01().internet_service_id())\n .destinationIpRange(\"0.0.0.0/0\")\n .routeTableId(outscale_route_table.route_table01().route_table_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n route01:\n type: outscale:Route\n properties:\n gatewayId: ${outscale_internet_service.internet_service01.internet_service_id}\n destinationIpRange: 0.0.0.0/0\n routeTableId: ${outscale_route_table.route_table01.route_table_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA route can be imported using the route table ID and the destination IP range. For exampleconsole\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 `active` state to declare its successful creation.\u003cbr /\u003eIf false, the created route is in the `active` state if available, or the `blackhole` state if not available.\n" + }, + "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" + }, + "natAccessPoint": { + "type": "string" + }, + "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" + }, + "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 `active`).\n" + }, + "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" + } + }, + "required": [ + "creationMethod", + "destinationIpRange", + "destinationServiceId", + "natAccessPoint", + "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 `active` state to declare its successful creation.\u003cbr /\u003eIf false, the created route is in the `active` state if available, or the `blackhole` state if not available.\n" + }, + "destinationIpRange": { + "type": "string", + "description": "The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n", + "willReplaceOnChanges": true + }, + "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" + }, + "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 `active` state to declare its successful creation.\u003cbr /\u003eIf false, the created route is in the `active` state if available, or the `blackhole` state if not available.\n" + }, + "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", + "willReplaceOnChanges": true + }, + "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" + }, + "natAccessPoint": { + "type": "string" + }, + "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" + }, + "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 `active`).\n" + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resource\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Create a route table\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst routeTable01 = new outscale.RouteTable(\"routeTable01\", {netId: outscale_net.net01.net_id});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nroute_table01 = outscale.RouteTable(\"routeTable01\", net_id=outscale_net[\"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 routeTable01 = new Outscale.RouteTable(\"routeTable01\", new()\n {\n NetId = outscale_net.Net01.Net_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"routeTable01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: pulumi.Any(outscale_net.Net01.Net_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.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(outscale_net.net01().net_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n routeTable01:\n type: outscale:RouteTable\n properties:\n netId: ${outscale_net.net01.net_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA route table can be imported using its ID. For exampleconsole\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/RouteTableLinkRouteTable: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/RouteTableRoutePropagatingVirtualGateway: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/RouteTableRoute:RouteTableRoute" + }, + "description": "One or more routes in the route table.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/RouteTableTag:RouteTableTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/RouteTableTag:RouteTableTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "requiredInputs": [ + "netId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RouteTable resources.\n", + "properties": { + "linkRouteTables": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/RouteTableLinkRouteTable: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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "routePropagatingVirtualGateways": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/RouteTableRoutePropagatingVirtualGateway: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/RouteTableRoute:RouteTableRoute" + }, + "description": "One or more routes in the route table.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/RouteTableTag:RouteTableTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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(\"routeTable01\", {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(\"routeTable01\", 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(\"routeTable01\", new()\n {\n NetId = net01.NetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"routeTable01\", \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 properties:\n netId: ${net01.netId}\n```\n{{% /example %}}\n{{% example %}}\n### Link a route table to a subnet\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst routeTableLink01 = new outscale.RouteTableLink(\"routeTableLink01\", {\n subnetId: outscale_subnet.subnet01.subnet_id,\n routeTableId: outscale_route_table.route_table01.route_table_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nroute_table_link01 = outscale.RouteTableLink(\"routeTableLink01\",\n subnet_id=outscale_subnet[\"subnet01\"][\"subnet_id\"],\n route_table_id=outscale_route_table[\"route_table01\"][\"route_table_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 routeTableLink01 = new Outscale.RouteTableLink(\"routeTableLink01\", new()\n {\n SubnetId = outscale_subnet.Subnet01.Subnet_id,\n RouteTableId = outscale_route_table.Route_table01.Route_table_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"routeTableLink01\", \u0026outscale.RouteTableLinkArgs{\n\t\t\tSubnetId: pulumi.Any(outscale_subnet.Subnet01.Subnet_id),\n\t\t\tRouteTableId: pulumi.Any(outscale_route_table.Route_table01.Route_table_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.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(outscale_subnet.subnet01().subnet_id())\n .routeTableId(outscale_route_table.route_table01().route_table_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n routeTableLink01:\n type: outscale:RouteTableLink\n properties:\n subnetId: ${outscale_subnet.subnet01.subnet_id}\n routeTableId: ${outscale_route_table.route_table01.route_table_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA route table link can be imported using the route table ID and the route table link ID. For exampleconsole\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" + }, + "requestId": { + "type": "string" + }, + "routeTableId": { + "type": "string", + "description": "The ID of the route table.\n" + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet.\n" + } + }, + "required": [ + "linkRouteTableId", + "main", + "requestId", + "routeTableId", + "subnetId" + ], + "inputProperties": { + "routeTableId": { + "type": "string", + "description": "The ID of the route table.\n", + "willReplaceOnChanges": true + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet.\n", + "willReplaceOnChanges": true + } + }, + "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" + }, + "requestId": { + "type": "string" + }, + "routeTableId": { + "type": "string", + "description": "The ID of the route table.\n", + "willReplaceOnChanges": true + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet.\n", + "willReplaceOnChanges": true + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Optional resource\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Create a security group for a Net\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroup01 = new outscale.SecurityGroup(\"securityGroup01\", {\n description: \"Terraform security group\",\n securityGroupName: \"terraform-security-group\",\n netId: outscale_net.net01.net_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsecurity_group01 = outscale.SecurityGroup(\"securityGroup01\",\n description=\"Terraform security group\",\n security_group_name=\"terraform-security-group\",\n net_id=outscale_net[\"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 securityGroup01 = new Outscale.SecurityGroup(\"securityGroup01\", new()\n {\n Description = \"Terraform security group\",\n SecurityGroupName = \"terraform-security-group\",\n NetId = outscale_net.Net01.Net_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"securityGroup01\", \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(outscale_net.Net01.Net_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.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(outscale_net.net01().net_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n securityGroup01:\n type: outscale:SecurityGroup\n properties:\n description: Terraform security group\n securityGroupName: terraform-security-group\n netId: ${outscale_net.net01.net_id}\n```\n{{% /example %}}\n{{% example %}}\n### Create a security group for a Net without the default outbound rule \n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroup02 = new outscale.SecurityGroup(\"securityGroup02\", {\n removeDefaultOutboundRule: true,\n description: \"Terraform security group without outbound rule\",\n securityGroupName: \"terraform-security-group-empty\",\n netId: outscale_net.net01.net_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsecurity_group02 = outscale.SecurityGroup(\"securityGroup02\",\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=outscale_net[\"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 securityGroup02 = new Outscale.SecurityGroup(\"securityGroup02\", new()\n {\n RemoveDefaultOutboundRule = true,\n Description = \"Terraform security group without outbound rule\",\n SecurityGroupName = \"terraform-security-group-empty\",\n NetId = outscale_net.Net01.Net_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"securityGroup02\", \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(outscale_net.Net01.Net_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.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(outscale_net.net01().net_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n securityGroup02:\n type: outscale:SecurityGroup\n properties:\n removeDefaultOutboundRule: true\n description: Terraform security group without outbound rule\n securityGroupName: terraform-security-group-empty\n netId: ${outscale_net.net01.net_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA security group can be imported using its ID. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/securityGroup:SecurityGroup ImportedSecurityGroup sg-87654321\n```\n\n ", + "properties": { + "accountId": { + "type": "string", + "description": "The account ID of a user.\n" + }, + "description": { + "type": "string", + "description": "A description for the security group, with a maximum length of 255 [ASCII printable characters](https://en.wikipedia.org/wiki/ASCII#Printable_characters).\n" + }, + "inboundRules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SecurityGroupInboundRule: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/SecurityGroupOutboundRule: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": "The name of the security group.\u003cbr /\u003e\nThis name must not start with `sg-`.\u003c/br\u003e\nThis name must be unique and contain between 1 and 255 ASCII characters. Accented letters are not allowed.\n" + }, + "tag": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SecurityGroupTag:SecurityGroupTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "accountId", + "inboundRules", + "netId", + "outboundRules", + "requestId", + "securityGroupId", + "securityGroupName" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description for the security group, with a maximum length of 255 [ASCII printable characters](https://en.wikipedia.org/wiki/ASCII#Printable_characters).\n", + "willReplaceOnChanges": true + }, + "netId": { + "type": "string", + "description": "The ID of the Net for the security group.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "securityGroupName": { + "type": "string", + "description": "The name of the security group.\u003cbr /\u003e\nThis name must not start with `sg-`.\u003c/br\u003e\nThis name must be unique and contain between 1 and 255 ASCII characters. Accented letters are not allowed.\n", + "willReplaceOnChanges": true + }, + "tag": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SecurityGroupTag:SecurityGroupTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering SecurityGroup resources.\n", + "properties": { + "accountId": { + "type": "string", + "description": "The account ID of a user.\n" + }, + "description": { + "type": "string", + "description": "A description for the security group, with a maximum length of 255 [ASCII printable characters](https://en.wikipedia.org/wiki/ASCII#Printable_characters).\n", + "willReplaceOnChanges": true + }, + "inboundRules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SecurityGroupInboundRule: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", + "willReplaceOnChanges": true + }, + "outboundRules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SecurityGroupOutboundRule: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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "securityGroupId": { + "type": "string", + "description": "The ID of the security group.\n" + }, + "securityGroupName": { + "type": "string", + "description": "The name of the security group.\u003cbr /\u003e\nThis name must not start with `sg-`.\u003c/br\u003e\nThis name must be unique and contain between 1 and 255 ASCII characters. Accented letters are not allowed.\n", + "willReplaceOnChanges": true + }, + "tag": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SecurityGroupTag:SecurityGroupTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroup01 = new outscale.SecurityGroup(\"securityGroup01\", {\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(\"securityGroup02\", {\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(\"securityGroup01\",\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(\"securityGroup02\",\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(\"securityGroup01\", 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(\"securityGroup02\", 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/outscale/pulumi-outscale/sdk/go/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, \"securityGroup01\", \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, \"securityGroup02\", \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 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 properties:\n description: Terraform source security group for SG rule from SG\n securityGroupName: terraform-security-group-test-02\n```\n{{% /example %}}\n{{% example %}}\n### Set an inbound rule from an IP range\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroupRule01 = new outscale.SecurityGroupRule(\"securityGroupRule01\", {\n flow: \"Inbound\",\n securityGroupId: outscale_security_group.security_group01.security_group_id,\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(\"securityGroupRule01\",\n flow=\"Inbound\",\n security_group_id=outscale_security_group[\"security_group01\"][\"security_group_id\"],\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(\"securityGroupRule01\", new()\n {\n Flow = \"Inbound\",\n SecurityGroupId = outscale_security_group.Security_group01.Security_group_id,\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/outscale/pulumi-outscale/sdk/go/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, \"securityGroupRule01\", \u0026outscale.SecurityGroupRuleArgs{\n\t\t\tFlow: pulumi.String(\"Inbound\"),\n\t\t\tSecurityGroupId: pulumi.Any(outscale_security_group.Security_group01.Security_group_id),\n\t\t\tFromPortRange: pulumi.Int(80),\n\t\t\tToPortRange: pulumi.Int(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(outscale_security_group.security_group01().security_group_id())\n .fromPortRange(\"80\")\n .toPortRange(\"80\")\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 properties:\n flow: Inbound\n securityGroupId: ${outscale_security_group.security_group01.security_group_id}\n fromPortRange: '80'\n toPortRange: '80'\n ipProtocol: tcp\n ipRange: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### Set an inbound rule from another security group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst securityGroupRule02 = new outscale.SecurityGroupRule(\"securityGroupRule02\", {\n flow: \"Inbound\",\n securityGroupId: outscale_security_group.security_group01.security_group_id,\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(\"securityGroupRule02\",\n flow=\"Inbound\",\n security_group_id=outscale_security_group[\"security_group01\"][\"security_group_id\"],\n rules=[outscale.SecurityGroupRuleRuleArgs(\n from_port_range=22,\n to_port_range=22,\n ip_protocol=\"tcp\",\n security_groups_members=[outscale.SecurityGroupRuleRuleSecurityGroupsMemberArgs(\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(\"securityGroupRule02\", new()\n {\n Flow = \"Inbound\",\n SecurityGroupId = outscale_security_group.Security_group01.Security_group_id,\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/outscale/pulumi-outscale/sdk/go/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, \"securityGroupRule02\", \u0026outscale.SecurityGroupRuleArgs{\n\t\t\tFlow: pulumi.String(\"Inbound\"),\n\t\t\tSecurityGroupId: pulumi.Any(outscale_security_group.Security_group01.Security_group_id),\n\t\t\tRules: outscale.SecurityGroupRuleRuleArray{\n\t\t\t\t\u0026outscale.SecurityGroupRuleRuleArgs{\n\t\t\t\t\tFromPortRange: pulumi.Int(22),\n\t\t\t\t\tToPortRange: pulumi.Int(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(outscale_security_group.security_group01().security_group_id())\n .rules(SecurityGroupRuleRuleArgs.builder()\n .fromPortRange(\"22\")\n .toPortRange(\"22\")\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 properties:\n flow: Inbound\n securityGroupId: ${outscale_security_group.security_group01.security_group_id}\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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA security group rule can be imported using the following format`SecurityGroupId_Flow_IpProtocol_FromPortRange_ToPortRange_IpRange`. For exampleconsole\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": "integer", + "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 (`tcp`, `udp`, `icmp`, 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" + }, + "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 `rules` 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/SecurityGroupRuleRule: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: `from_port_range`, `ip_protocol`, `ip_range`, and `to_port_range`.\n" + }, + "securityGroupAccountIdToLink": { + "type": "string", + "description": "The account ID of the owner of the security group for which you want to create a rule.\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 the source security group. If you are in the Public Cloud, you can also specify the name of the source security group.\n" + }, + "toPortRange": { + "type": "integer", + "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 `rules` parameter and its subparameters.\n" + } + }, + "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", + "willReplaceOnChanges": true + }, + "fromPortRange": { + "type": "integer", + "description": "The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n", + "willReplaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "description": "The IP protocol name (`tcp`, `udp`, `icmp`, 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", + "willReplaceOnChanges": true + }, + "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 `rules` parameter and its subparameters.\n", + "willReplaceOnChanges": true + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SecurityGroupRuleRule: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: `from_port_range`, `ip_protocol`, `ip_range`, and `to_port_range`.\n", + "willReplaceOnChanges": true + }, + "securityGroupAccountIdToLink": { + "type": "string", + "description": "The account ID of the owner of the security group for which you want to create a rule.\n", + "willReplaceOnChanges": true + }, + "securityGroupId": { + "type": "string", + "description": "The ID of the security group for which you want to create a rule.\n", + "willReplaceOnChanges": true + }, + "securityGroupNameToLink": { + "type": "string", + "description": "The ID of the source security group. If you are in the Public Cloud, you can also specify the name of the source security group.\n", + "willReplaceOnChanges": true + }, + "toPortRange": { + "type": "integer", + "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 `rules` parameter and its subparameters.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "fromPortRange": { + "type": "integer", + "description": "The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n", + "willReplaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "description": "The IP protocol name (`tcp`, `udp`, `icmp`, 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", + "willReplaceOnChanges": true + }, + "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 `rules` parameter and its subparameters.\n", + "willReplaceOnChanges": true + }, + "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/SecurityGroupRuleRule: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: `from_port_range`, `ip_protocol`, `ip_range`, and `to_port_range`.\n", + "willReplaceOnChanges": true + }, + "securityGroupAccountIdToLink": { + "type": "string", + "description": "The account ID of the owner of the security group for which you want to create a rule.\n", + "willReplaceOnChanges": true + }, + "securityGroupId": { + "type": "string", + "description": "The ID of the security group for which you want to create a rule.\n", + "willReplaceOnChanges": true + }, + "securityGroupName": { + "type": "string", + "description": "The name of the security group.\n" + }, + "securityGroupNameToLink": { + "type": "string", + "description": "The ID of the source security group. If you are in the Public Cloud, you can also specify the name of the source security group.\n", + "willReplaceOnChanges": true + }, + "toPortRange": { + "type": "integer", + "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 `rules` parameter and its subparameters.\n", + "willReplaceOnChanges": true + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst serverCertificate01 = new outscale.ServerCertificate(\"serverCertificate01\", {\n body: fs.readFileSync(\"\u003cPATH\u003e\"),\n chain: fs.readFileSync(\"\u003cPATH\u003e\"),\n privateKey: fs.readFileSync(\"\u003cPATH\u003e\"),\n path: \"\u003cPATH\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nserver_certificate01 = outscale.ServerCertificate(\"serverCertificate01\",\n body=(lambda path: open(path).read())(\"\u003cPATH\u003e\"),\n chain=(lambda path: open(path).read())(\"\u003cPATH\u003e\"),\n private_key=(lambda path: open(path).read())(\"\u003cPATH\u003e\"),\n path=\"\u003cPATH\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Outscale = Pulumi.Outscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serverCertificate01 = new Outscale.ServerCertificate(\"serverCertificate01\", new()\n {\n Body = File.ReadAllText(\"\u003cPATH\u003e\"),\n Chain = File.ReadAllText(\"\u003cPATH\u003e\"),\n PrivateKey = File.ReadAllText(\"\u003cPATH\u003e\"),\n Path = \"\u003cPATH\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/outscale/pulumi-outscale/sdk/go/outscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := outscale.NewServerCertificate(ctx, \"serverCertificate01\", \u0026outscale.ServerCertificateArgs{\n\t\t\tBody: readFileOrPanic(\"\u003cPATH\u003e\"),\n\t\t\tChain: readFileOrPanic(\"\u003cPATH\u003e\"),\n\t\t\tPrivateKey: readFileOrPanic(\"\u003cPATH\u003e\"),\n\t\t\tPath: pulumi.String(\"\u003cPATH\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.ServerCertificate;\nimport com.pulumi.outscale.ServerCertificateArgs;\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 serverCertificate01 = new ServerCertificate(\"serverCertificate01\", ServerCertificateArgs.builder() \n .body(Files.readString(Paths.get(\"\u003cPATH\u003e\")))\n .chain(Files.readString(Paths.get(\"\u003cPATH\u003e\")))\n .privateKey(Files.readString(Paths.get(\"\u003cPATH\u003e\")))\n .path(\"\u003cPATH\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serverCertificate01:\n type: outscale:ServerCertificate\n properties:\n body:\n fn::readFile: \u003cPATH\u003e\n chain:\n fn::readFile: \u003cPATH\u003e\n privateKey:\n fn::readFile: \u003cPATH\u003e\n path: \u003cPATH\u003e\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA server certificate can be imported using its ID. For exampleconsole\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 at 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" + }, + "uploadDate": { + "type": "string", + "description": "The date at which the server certificate has been uploaded.\n" + } + }, + "required": [ + "expirationDate", + "name", + "orn", + "path", + "requestId", + "uploadDate" + ], + "inputProperties": { + "body": { + "type": "string", + "description": "The PEM-encoded X509 certificate.\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering ServerCertificate resources.\n", + "properties": { + "body": { + "type": "string", + "description": "The PEM-encoded X509 certificate.\n", + "willReplaceOnChanges": true + }, + "chain": { + "type": "string", + "description": "The PEM-encoded intermediate certification authorities.\n" + }, + "dryRun": { + "type": "string" + }, + "expirationDate": { + "type": "string", + "description": "The date at 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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "uploadDate": { + "type": "string", + "description": "The date at 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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resource\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n size: 40,\n subregionName: `${_var.region}a`,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume01 = outscale.Volume(\"volume01\",\n size=40,\n subregion_name=f\"{var['region']}a\")\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 Size = 40,\n SubregionName = $\"{@var.Region}a\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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\tSize: pulumi.Int(40),\n\t\t\tSubregionName: pulumi.String(fmt.Sprintf(\"%va\", _var.Region)),\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 .size(40)\n .subregionName(String.format(\"%sa\", var_.region()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n volume01:\n type: outscale:Volume\n properties:\n size: 40\n subregionName: ${var.region}a\n```\n{{% /example %}}\n{{% example %}}\n### Create a snapshot\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshot01 = new outscale.Snapshot(\"snapshot01\", {volumeId: outscale_volume.volume01.volume_id});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot01 = outscale.Snapshot(\"snapshot01\", volume_id=outscale_volume[\"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 snapshot01 = new Outscale.Snapshot(\"snapshot01\", new()\n {\n VolumeId = outscale_volume.Volume01.Volume_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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(outscale_volume.Volume01.Volume_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.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(outscale_volume.volume01().volume_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snapshot01:\n type: outscale:Snapshot\n properties:\n volumeId: ${outscale_volume.volume01.volume_id}\n```\n{{% /example %}}\n{{% example %}}\n### Copy a snapshot\n\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 sourceRegionName: \"eu-west-2\",\n sourceSnapshotId: \"snap-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot02 = outscale.Snapshot(\"snapshot02\",\n description=\"Terraform snapshot copy\",\n source_region_name=\"eu-west-2\",\n source_snapshot_id=\"snap-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 snapshot02 = new Outscale.Snapshot(\"snapshot02\", new()\n {\n Description = \"Terraform snapshot copy\",\n SourceRegionName = \"eu-west-2\",\n SourceSnapshotId = \"snap-12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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\tSourceRegionName: pulumi.String(\"eu-west-2\"),\n\t\t\tSourceSnapshotId: pulumi.String(\"snap-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.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 .sourceRegionName(\"eu-west-2\")\n .sourceSnapshotId(\"snap-12345678\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snapshot02:\n type: outscale:Snapshot\n properties:\n description: Terraform snapshot copy\n sourceRegionName: eu-west-2\n sourceSnapshotId: snap-12345678\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA snapshot can be imported using its ID. For exampleconsole\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 of creation of the snapshot.\n" + }, + "description": { + "type": "string", + "description": "A description for the snapshot.\n" + }, + "fileLocation": { + "type": "string", + "description": "(When importing) The pre-signed URL of the snapshot you want to import, or the normal URL of the snapshot if you have permission on the OOS bucket. For more information, see [Configuring a Pre-signed URL](https://docs.outscale.com/en/userguide/Configuring-a-Pre-signed-URL.html) or [Managing Access to Your Buckets and Objects](https://docs.outscale.com/en/userguide/Managing-Access-to-Your-Buckets-and-Objects.html).\n" + }, + "permissionsToCreateVolumes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotPermissionsToCreateVolume:SnapshotPermissionsToCreateVolume" + }, + "description": "Information about the users who have permissions for the resource.\n" + }, + "progress": { + "type": "integer", + "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": "integer", + "description": "(When importing) 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) The name of the source Region, which must be the same as the Region of your account.\n" + }, + "sourceSnapshotId": { + "type": "string", + "description": "(When copying) The ID of the snapshot you want to copy.\n" + }, + "state": { + "type": "string", + "description": "The state of the snapshot (`in-queue` \\| `completed` \\| `error`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotTag:SnapshotTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "volumeId": { + "type": "string", + "description": "(When creating) The ID of the volume you want to create a snapshot of.\n" + }, + "volumeSize": { + "type": "integer", + "description": "The size of the volume used to create the snapshot, in gibibytes (GiB).\n" + } + }, + "required": [ + "accountAlias", + "accountId", + "creationDate", + "description", + "fileLocation", + "permissionsToCreateVolumes", + "progress", + "requestId", + "snapshotId", + "snapshotSize", + "sourceRegionName", + "sourceSnapshotId", + "state", + "volumeId", + "volumeSize" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description for the snapshot.\n", + "willReplaceOnChanges": true + }, + "fileLocation": { + "type": "string", + "description": "(When importing) The pre-signed URL of the snapshot you want to import, or the normal URL of the snapshot if you have permission on the OOS bucket. For more information, see [Configuring a Pre-signed URL](https://docs.outscale.com/en/userguide/Configuring-a-Pre-signed-URL.html) or [Managing Access to Your Buckets and Objects](https://docs.outscale.com/en/userguide/Managing-Access-to-Your-Buckets-and-Objects.html).\n", + "willReplaceOnChanges": true + }, + "snapshotSize": { + "type": "integer", + "description": "(When importing) 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", + "willReplaceOnChanges": true + }, + "sourceRegionName": { + "type": "string", + "description": "(When copying) The name of the source Region, which must be the same as the Region of your account.\n", + "willReplaceOnChanges": true + }, + "sourceSnapshotId": { + "type": "string", + "description": "(When copying) The ID of the snapshot you want to copy.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotTag:SnapshotTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "volumeId": { + "type": "string", + "description": "(When creating) The ID of the volume you want to create a snapshot of.\n", + "willReplaceOnChanges": true + } + }, + "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 of creation of the snapshot.\n" + }, + "description": { + "type": "string", + "description": "A description for the snapshot.\n", + "willReplaceOnChanges": true + }, + "fileLocation": { + "type": "string", + "description": "(When importing) The pre-signed URL of the snapshot you want to import, or the normal URL of the snapshot if you have permission on the OOS bucket. For more information, see [Configuring a Pre-signed URL](https://docs.outscale.com/en/userguide/Configuring-a-Pre-signed-URL.html) or [Managing Access to Your Buckets and Objects](https://docs.outscale.com/en/userguide/Managing-Access-to-Your-Buckets-and-Objects.html).\n", + "willReplaceOnChanges": true + }, + "permissionsToCreateVolumes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotPermissionsToCreateVolume:SnapshotPermissionsToCreateVolume" + }, + "description": "Information about the users who have permissions for the resource.\n" + }, + "progress": { + "type": "integer", + "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": "integer", + "description": "(When importing) 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", + "willReplaceOnChanges": true + }, + "sourceRegionName": { + "type": "string", + "description": "(When copying) The name of the source Region, which must be the same as the Region of your account.\n", + "willReplaceOnChanges": true + }, + "sourceSnapshotId": { + "type": "string", + "description": "(When copying) The ID of the snapshot you want to copy.\n", + "willReplaceOnChanges": true + }, + "state": { + "type": "string", + "description": "The state of the snapshot (`in-queue` \\| `completed` \\| `error`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotTag:SnapshotTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "volumeId": { + "type": "string", + "description": "(When creating) The ID of the volume you want to create a snapshot of.\n", + "willReplaceOnChanges": true + }, + "volumeSize": { + "type": "integer", + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\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=[outscale.SnapshotTagArgs(\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/outscale/pulumi-outscale/sdk/go/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.Int(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)\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{{% /example %}}\n{{% example %}}\n### Add permissions\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshotAttributes01 = new outscale.SnapshotAttributes(\"snapshotAttributes01\", {\n snapshotId: outscale_snapshot.snapshot01.snapshot_id,\n permissionsToCreateVolumeAdditions: {\n accountIds: [\"012345678910\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot_attributes01 = outscale.SnapshotAttributes(\"snapshotAttributes01\",\n snapshot_id=outscale_snapshot[\"snapshot01\"][\"snapshot_id\"],\n permissions_to_create_volume_additions=outscale.SnapshotAttributesPermissionsToCreateVolumeAdditionsArgs(\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(\"snapshotAttributes01\", new()\n {\n SnapshotId = outscale_snapshot.Snapshot01.Snapshot_id,\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/outscale/pulumi-outscale/sdk/go/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, \"snapshotAttributes01\", \u0026outscale.SnapshotAttributesArgs{\n\t\t\tSnapshotId: pulumi.Any(outscale_snapshot.Snapshot01.Snapshot_id),\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(outscale_snapshot.snapshot01().snapshot_id())\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 properties:\n snapshotId: ${outscale_snapshot.snapshot01.snapshot_id}\n permissionsToCreateVolumeAdditions:\n accountIds:\n - '012345678910'\n```\n{{% /example %}}\n{{% example %}}\n### Remove permissions\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshotAttributes02 = new outscale.SnapshotAttributes(\"snapshotAttributes02\", {\n snapshotId: outscale_snapshot.snapshot01.snapshot_id,\n permissionsToCreateVolumeRemovals: [{\n accountIds: [\"012345678910\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot_attributes02 = outscale.SnapshotAttributes(\"snapshotAttributes02\",\n snapshot_id=outscale_snapshot[\"snapshot01\"][\"snapshot_id\"],\n permissions_to_create_volume_removals=[outscale.SnapshotAttributesPermissionsToCreateVolumeRemovalArgs(\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(\"snapshotAttributes02\", new()\n {\n SnapshotId = outscale_snapshot.Snapshot01.Snapshot_id,\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/outscale/pulumi-outscale/sdk/go/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, \"snapshotAttributes02\", \u0026outscale.SnapshotAttributesArgs{\n\t\t\tSnapshotId: pulumi.Any(outscale_snapshot.Snapshot01.Snapshot_id),\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(outscale_snapshot.snapshot01().snapshot_id())\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 properties:\n snapshotId: ${outscale_snapshot.snapshot01.snapshot_id}\n permissionsToCreateVolumeRemovals:\n - accountIds:\n - '012345678910'\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "accountId": { + "type": "string", + "description": "The account ID of the owner of the snapshot.\n" + }, + "permissionsToCreateVolumeAdditions": { + "$ref": "#/types/outscale:index/SnapshotAttributesPermissionsToCreateVolumeAdditions: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/SnapshotAttributesPermissionsToCreateVolumeRemoval:SnapshotAttributesPermissionsToCreateVolumeRemoval" + }, + "description": "Information about the users from whom you want to remove permissions for the resource.\n" + }, + "requestId": { + "type": "string" + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot.\n" + } + }, + "required": [ + "accountId", + "requestId", + "snapshotId" + ], + "inputProperties": { + "permissionsToCreateVolumeAdditions": { + "$ref": "#/types/outscale:index/SnapshotAttributesPermissionsToCreateVolumeAdditions:SnapshotAttributesPermissionsToCreateVolumeAdditions", + "description": "Information about the users to whom you want to give permissions for the resource.\n", + "willReplaceOnChanges": true + }, + "permissionsToCreateVolumeRemovals": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotAttributesPermissionsToCreateVolumeRemoval:SnapshotAttributesPermissionsToCreateVolumeRemoval" + }, + "description": "Information about the users from whom you want to remove permissions for the resource.\n", + "willReplaceOnChanges": true + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot.\n", + "willReplaceOnChanges": true + } + }, + "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/SnapshotAttributesPermissionsToCreateVolumeAdditions:SnapshotAttributesPermissionsToCreateVolumeAdditions", + "description": "Information about the users to whom you want to give permissions for the resource.\n", + "willReplaceOnChanges": true + }, + "permissionsToCreateVolumeRemovals": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotAttributesPermissionsToCreateVolumeRemoval:SnapshotAttributesPermissionsToCreateVolumeRemoval" + }, + "description": "Information about the users from whom you want to remove permissions for the resource.\n", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot.\n", + "willReplaceOnChanges": true + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n subregionName: `${_var.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\"{var['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 = $\"{@var.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/outscale/pulumi-outscale/sdk/go/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(fmt.Sprintf(\"%va\", _var.Region)),\n\t\t\tSize: pulumi.Int(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\", var_.region()))\n .size(40)\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: ${var.region}a\n size: 40\n snapshot01:\n type: outscale:Snapshot\n properties:\n volumeId: ${volume01.volumeId}\n```\n{{% /example %}}\n{{% example %}}\n### Create a snapshot export task\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst snapshotExportTask01 = new outscale.SnapshotExportTask(\"snapshotExportTask01\", {\n snapshotId: outscale_snapshot.snapshot01.snapshot_id,\n osuExports: [{\n diskImageFormat: \"qcow2\",\n osuBucket: \"terraform-bucket\",\n osuPrefix: \"new-export\",\n osuApiKeys: [{\n apiKeyId: _var.access_key_id,\n secretKey: _var.secret_key_id,\n }],\n }],\n tags: [{\n key: \"Name\",\n value: \"terraform-snapshot-export-task\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nsnapshot_export_task01 = outscale.SnapshotExportTask(\"snapshotExportTask01\",\n snapshot_id=outscale_snapshot[\"snapshot01\"][\"snapshot_id\"],\n osu_exports=[outscale.SnapshotExportTaskOsuExportArgs(\n disk_image_format=\"qcow2\",\n osu_bucket=\"terraform-bucket\",\n osu_prefix=\"new-export\",\n osu_api_keys=[outscale.SnapshotExportTaskOsuExportOsuApiKeyArgs(\n api_key_id=var[\"access_key_id\"],\n secret_key=var[\"secret_key_id\"],\n )],\n )],\n tags=[outscale.SnapshotExportTaskTagArgs(\n key=\"Name\",\n value=\"terraform-snapshot-export-task\",\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 = new Outscale.SnapshotExportTask(\"snapshotExportTask01\", new()\n {\n SnapshotId = outscale_snapshot.Snapshot01.Snapshot_id,\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 = @var.Access_key_id,\n SecretKey = @var.Secret_key_id,\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 });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"snapshotExportTask01\", \u0026outscale.SnapshotExportTaskArgs{\n\t\t\tSnapshotId: pulumi.Any(outscale_snapshot.Snapshot01.Snapshot_id),\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(_var.Access_key_id),\n\t\t\t\t\t\t\tSecretKey: pulumi.Any(_var.Secret_key_id),\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})\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(outscale_snapshot.snapshot01().snapshot_id())\n .osuExports(SnapshotExportTaskOsuExportArgs.builder()\n .diskImageFormat(\"qcow2\")\n .osuBucket(\"terraform-bucket\")\n .osuPrefix(\"new-export\")\n .osuApiKeys(SnapshotExportTaskOsuExportOsuApiKeyArgs.builder()\n .apiKeyId(var_.access_key_id())\n .secretKey(var_.secret_key_id())\n .build())\n .build())\n .tags(SnapshotExportTaskTagArgs.builder()\n .key(\"Name\")\n .value(\"terraform-snapshot-export-task\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snapshotExportTask01:\n type: outscale:SnapshotExportTask\n properties:\n snapshotId: ${outscale_snapshot.snapshot01.snapshot_id}\n osuExports:\n - diskImageFormat: qcow2\n osuBucket: terraform-bucket\n osuPrefix: new-export\n osuApiKeys:\n - apiKeyId: ${var.access_key_id}\n secretKey: ${var.secret_key_id}\n tags:\n - key: Name\n value: terraform-snapshot-export-task\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "comment": { + "type": "string", + "description": "If the snapshot export task fails, an error message appears.\n" + }, + "osuExports": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotExportTaskOsuExport:SnapshotExportTaskOsuExport" + }, + "description": "Information about the OOS export task to create.\n" + }, + "progress": { + "type": "integer", + "description": "The progress of the snapshot export task, as a percentage.\n" + }, + "requestId": { + "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 (`pending` \\| `active` \\| `completed` \\| `failed`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotExportTaskTag: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" + } + }, + "required": [ + "comment", + "osuExports", + "progress", + "requestId", + "snapshotId", + "state", + "taskId" + ], + "inputProperties": { + "osuExports": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotExportTaskOsuExport:SnapshotExportTaskOsuExport" + }, + "description": "Information about the OOS export task to create.\n", + "willReplaceOnChanges": true + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot to export.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotExportTaskTag:SnapshotExportTaskTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\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/SnapshotExportTaskOsuExport:SnapshotExportTaskOsuExport" + }, + "description": "Information about the OOS export task to create.\n", + "willReplaceOnChanges": true + }, + "progress": { + "type": "integer", + "description": "The progress of the snapshot export task, as a percentage.\n" + }, + "requestId": { + "type": "string" + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot to export.\n", + "willReplaceOnChanges": true + }, + "state": { + "type": "string", + "description": "The state of the snapshot export task (`pending` \\| `active` \\| `completed` \\| `failed`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SnapshotExportTaskTag: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" + } + }, + "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-VPCs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-subnet).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resource\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Create a subnet\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n netId: outscale_net.net01.net_id,\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=outscale_net[\"net01\"][\"net_id\"],\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 = outscale_net.Net01.Net_id,\n IpRange = \"10.0.0.0/18\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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(outscale_net.Net01.Net_id),\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(outscale_net.net01().net_id())\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: ${outscale_net.net01.net_id}\n ipRange: 10.0.0.0/18\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA subnet can be imported using its ID. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/subnet:Subnet ImportedSubnet subnet-12345678\n```\n\n ", + "properties": { + "availableIpsCount": { + "type": "integer", + "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 VPCs](https://docs.outscale.com/en/userguide/About-VPCs.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 (`pending` \\| `available` \\| `deleted`).\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/SubnetTag:SubnetTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "required": [ + "availableIpsCount", + "ipRange", + "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 VPCs](https://docs.outscale.com/en/userguide/About-VPCs.html).\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "subregionName": { + "type": "string", + "description": "The name of the Subregion in which you want to create the Subnet.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SubnetTag:SubnetTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "requiredInputs": [ + "ipRange", + "netId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Subnet resources.\n", + "properties": { + "availableIpsCount": { + "type": "integer", + "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 VPCs](https://docs.outscale.com/en/userguide/About-VPCs.html).\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the Subnet (`pending` \\| `available` \\| `deleted`).\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", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/SubnetTag:SubnetTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + } + }, + "type": "object" + } + }, + "outscale:index/tag:Tag": { + "properties": { + "requestId": { + "type": "string" + }, + "resourceIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "tag": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/TagTag:TagTag" + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/TagTag:TagTag" + } + } + }, + "required": [ + "requestId", + "tags" + ], + "inputProperties": { + "resourceIds": { + "type": "array", + "items": { + "type": "string" + }, + "willReplaceOnChanges": true + }, + "tag": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/TagTag:TagTag" + }, + "willReplaceOnChanges": true + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Tag resources.\n", + "properties": { + "requestId": { + "type": "string" + }, + "resourceIds": { + "type": "array", + "items": { + "type": "string" + }, + "willReplaceOnChanges": true + }, + "tag": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/TagTag:TagTag" + }, + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/TagTag:TagTag" + } + } + }, + "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-Private-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-virtualgateway).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtualGateway01\", {\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(\"virtualGateway01\",\n connection_type=\"ipsec.1\",\n tags=[outscale.VirtualGatewayTagArgs(\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(\"virtualGateway01\", 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/outscale/pulumi-outscale/sdk/go/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, \"virtualGateway01\", \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 properties:\n connectionType: ipsec.1\n tags:\n - key: name\n value: terraform-virtual-gateway\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA virtual gateway can be imported using its ID. For exampleconsole\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 (only `ipsec.1` is supported).\n" + }, + "netToVirtualGatewayLinks": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VirtualGatewayNetToVirtualGatewayLink:VirtualGatewayNetToVirtualGatewayLink" + }, + "description": "The Net to which the virtual gateway is attached.\n" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the virtual gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VirtualGatewayTag:VirtualGatewayTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "virtualGatewayId": { + "type": "string", + "description": "The ID of the virtual gateway.\n" + } + }, + "required": [ + "connectionType", + "netToVirtualGatewayLinks", + "requestId", + "state", + "virtualGatewayId" + ], + "inputProperties": { + "connectionType": { + "type": "string", + "description": "The type of VPN connection supported by the virtual gateway (only `ipsec.1` is supported).\n" + }, + "netToVirtualGatewayLinks": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VirtualGatewayNetToVirtualGatewayLink:VirtualGatewayNetToVirtualGatewayLink" + }, + "description": "The Net to which the virtual gateway is attached.\n" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the virtual gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VirtualGatewayTag:VirtualGatewayTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "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 (only `ipsec.1` is supported).\n" + }, + "netToVirtualGatewayLinks": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VirtualGatewayNetToVirtualGatewayLink:VirtualGatewayNetToVirtualGatewayLink" + }, + "description": "The Net to which the virtual gateway is attached.\n" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the virtual gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VirtualGatewayTag:VirtualGatewayTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "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-Private-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-virtualgateway).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtualGateway01\", {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(\"virtualGateway01\", 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(\"virtualGateway01\", 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/outscale/pulumi-outscale/sdk/go/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, \"virtualGateway01\", \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 properties:\n connectionType: ipsec.1\n net01:\n type: outscale:Net\n properties:\n ipRange: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### Link a virtual gateway to a Net\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGatewayLink01 = new outscale.VirtualGatewayLink(\"virtualGatewayLink01\", {\n virtualGatewayId: outscale_virtual_gateway.virtual_gateway01.virtual_gateway_id,\n netId: outscale_net.net01.net_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateway_link01 = outscale.VirtualGatewayLink(\"virtualGatewayLink01\",\n virtual_gateway_id=outscale_virtual_gateway[\"virtual_gateway01\"][\"virtual_gateway_id\"],\n net_id=outscale_net[\"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 virtualGatewayLink01 = new Outscale.VirtualGatewayLink(\"virtualGatewayLink01\", new()\n {\n VirtualGatewayId = outscale_virtual_gateway.Virtual_gateway01.Virtual_gateway_id,\n NetId = outscale_net.Net01.Net_id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"virtualGatewayLink01\", \u0026outscale.VirtualGatewayLinkArgs{\n\t\t\tVirtualGatewayId: pulumi.Any(outscale_virtual_gateway.Virtual_gateway01.Virtual_gateway_id),\n\t\t\tNetId: pulumi.Any(outscale_net.Net01.Net_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.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(outscale_virtual_gateway.virtual_gateway01().virtual_gateway_id())\n .netId(outscale_net.net01().net_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n virtualGatewayLink01:\n type: outscale:VirtualGatewayLink\n properties:\n virtualGatewayId: ${outscale_virtual_gateway.virtual_gateway01.virtual_gateway_id}\n netId: ${outscale_net.net01.net_id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA virtual gateway link can be imported using its virtual gateway ID. For exampleconsole\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/VirtualGatewayLinkNetToVirtualGatewayLink:VirtualGatewayLinkNetToVirtualGatewayLink" + } + }, + "requestId": { + "type": "string" + }, + "virtualGatewayId": { + "type": "string", + "description": "The ID of the virtual gateway.\n" + } + }, + "required": [ + "dryRun", + "netId", + "netToVirtualGatewayLinks", + "requestId", + "virtualGatewayId" + ], + "inputProperties": { + "dryRun": { + "type": "string", + "willReplaceOnChanges": true + }, + "netId": { + "type": "string", + "description": "The ID of the Net to which you want to attach the virtual gateway.\n", + "willReplaceOnChanges": true + }, + "virtualGatewayId": { + "type": "string", + "description": "The ID of the virtual gateway.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "netId", + "virtualGatewayId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VirtualGatewayLink resources.\n", + "properties": { + "dryRun": { + "type": "string", + "willReplaceOnChanges": true + }, + "netId": { + "type": "string", + "description": "The ID of the Net to which you want to attach the virtual gateway.\n", + "willReplaceOnChanges": true + }, + "netToVirtualGatewayLinks": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VirtualGatewayLinkNetToVirtualGatewayLink:VirtualGatewayLinkNetToVirtualGatewayLink" + } + }, + "requestId": { + "type": "string" + }, + "virtualGatewayId": { + "type": "string", + "description": "The ID of the virtual gateway.\n", + "willReplaceOnChanges": true + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtualGateway01\", {connectionType: \"ipsec.1\"});\nconst net01 = new outscale.Net(\"net01\", {ipRange: \"10.0.0.0/16\"});\nconst routeTable01 = new outscale.RouteTable(\"routeTable01\", {netId: net01.netId});\nconst virtualGatewayLink01 = new outscale.VirtualGatewayLink(\"virtualGatewayLink01\", {\n virtualGatewayId: virtualGateway01.virtualGatewayId,\n netId: net01.netId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateway01 = outscale.VirtualGateway(\"virtualGateway01\", connection_type=\"ipsec.1\")\nnet01 = outscale.Net(\"net01\", ip_range=\"10.0.0.0/16\")\nroute_table01 = outscale.RouteTable(\"routeTable01\", net_id=net01.net_id)\nvirtual_gateway_link01 = outscale.VirtualGatewayLink(\"virtualGatewayLink01\",\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(\"virtualGateway01\", 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(\"routeTable01\", new()\n {\n NetId = net01.NetId,\n });\n\n var virtualGatewayLink01 = new Outscale.VirtualGatewayLink(\"virtualGatewayLink01\", new()\n {\n VirtualGatewayId = virtualGateway01.VirtualGatewayId,\n NetId = net01.NetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"virtualGateway01\", \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, \"routeTable01\", \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, \"virtualGatewayLink01\", \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 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 properties:\n netId: ${net01.netId}\n virtualGatewayLink01:\n type: outscale:VirtualGatewayLink\n properties:\n virtualGatewayId: ${virtualGateway01.virtualGatewayId}\n netId: ${net01.netId}\n```\n{{% /example %}}\n{{% example %}}\n### Activate the propagation of routes to a route table of a Net by a virtual gateway\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst virtualGatewayRoutePropagation01 = new outscale.VirtualGatewayRoutePropagation(\"virtualGatewayRoutePropagation01\", {\n enable: true,\n virtualGatewayId: outscale_virtual_gateway.virtual_gateway01.virtual_gateway_id,\n routeTableId: outscale_route_table.route_table01.route_table_id,\n}, {\n dependsOn: [outscale_virtual_gateway_link.virtual_gateway_link01],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvirtual_gateway_route_propagation01 = outscale.VirtualGatewayRoutePropagation(\"virtualGatewayRoutePropagation01\",\n enable=True,\n virtual_gateway_id=outscale_virtual_gateway[\"virtual_gateway01\"][\"virtual_gateway_id\"],\n route_table_id=outscale_route_table[\"route_table01\"][\"route_table_id\"],\n opts=pulumi.ResourceOptions(depends_on=[outscale_virtual_gateway_link[\"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(\"virtualGatewayRoutePropagation01\", new()\n {\n Enable = true,\n VirtualGatewayId = outscale_virtual_gateway.Virtual_gateway01.Virtual_gateway_id,\n RouteTableId = outscale_route_table.Route_table01.Route_table_id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n outscale_virtual_gateway_link.Virtual_gateway_link01,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"virtualGatewayRoutePropagation01\", \u0026outscale.VirtualGatewayRoutePropagationArgs{\n\t\t\tEnable: pulumi.Bool(true),\n\t\t\tVirtualGatewayId: pulumi.Any(outscale_virtual_gateway.Virtual_gateway01.Virtual_gateway_id),\n\t\t\tRouteTableId: pulumi.Any(outscale_route_table.Route_table01.Route_table_id),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\toutscale_virtual_gateway_link.Virtual_gateway_link01,\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(outscale_virtual_gateway.virtual_gateway01().virtual_gateway_id())\n .routeTableId(outscale_route_table.route_table01().route_table_id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(outscale_virtual_gateway_link.virtual_gateway_link01())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n virtualGatewayRoutePropagation01:\n type: outscale:VirtualGatewayRoutePropagation\n properties:\n enable: true\n virtualGatewayId: ${outscale_virtual_gateway.virtual_gateway01.virtual_gateway_id}\n routeTableId: ${outscale_route_table.route_table01.route_table_id}\n options:\n dependson:\n - ${outscale_virtual_gateway_link.virtual_gateway_link01}\n```\n{{% /example %}}\n{{% /examples %}}", + "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" + }, + "virtualGatewayId": { + "type": "string", + "description": "The ID of the virtual gateway.\n" + } + }, + "required": [ + "enable", + "requestId", + "routeTableId", + "virtualGatewayId" + ], + "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", + "willReplaceOnChanges": true + }, + "routeTableId": { + "type": "string", + "description": "The ID of the route table.\n", + "willReplaceOnChanges": true + }, + "virtualGatewayId": { + "type": "string", + "description": "The ID of the virtual gateway.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "routeTableId": { + "type": "string", + "description": "The ID of the route table.\n", + "willReplaceOnChanges": true + }, + "virtualGatewayId": { + "type": "string", + "description": "The ID of the virtual gateway.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "outscale:index/vm:Vm": { + "description": "Manages a virtual machine (VM).\n\nFor more information on this resource, see the [User Guide](https://docs.outscale.com/en/userguide/About-Instances.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-vm).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Optional resource\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst keypair01 = new outscale.Keypair(\"keypair01\", {keypairName: \"terraform-keypair-for-vm\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nkeypair01 = outscale.Keypair(\"keypair01\", keypair_name=\"terraform-keypair-for-vm\")\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-for-vm\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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-for-vm\"),\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-for-vm\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n keypair01:\n type: outscale:Keypair\n properties:\n keypairName: terraform-keypair-for-vm\n```\n{{% /example %}}\n{{% example %}}\n### Create a VM with block device mappings\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vm02 = new outscale.Vm(\"vm02\", {\n imageId: _var.image_id,\n vmType: _var.vm_type,\n keypairName: _var.keypair_name,\n blockDeviceMappings: [\n {\n deviceName: \"/dev/sda1\",\n bsu: {\n volumeSize: 15,\n volumeType: \"gp2\",\n snapshotId: _var.snapshot_id,\n },\n },\n {\n deviceName: \"/dev/sdb\",\n bsu: {\n volumeSize: 22,\n volumeType: \"io1\",\n iops: 150,\n deleteOnVmDeletion: true,\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvm02 = outscale.Vm(\"vm02\",\n image_id=var[\"image_id\"],\n vm_type=var[\"vm_type\"],\n keypair_name=var[\"keypair_name\"],\n block_device_mappings=[\n outscale.VmBlockDeviceMappingArgs(\n device_name=\"/dev/sda1\",\n bsu=outscale.VmBlockDeviceMappingBsuArgs(\n volume_size=15,\n volume_type=\"gp2\",\n snapshot_id=var[\"snapshot_id\"],\n ),\n ),\n outscale.VmBlockDeviceMappingArgs(\n device_name=\"/dev/sdb\",\n bsu=outscale.VmBlockDeviceMappingBsuArgs(\n volume_size=22,\n volume_type=\"io1\",\n iops=150,\n delete_on_vm_deletion=True,\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 vm02 = new Outscale.Vm(\"vm02\", new()\n {\n ImageId = @var.Image_id,\n VmType = @var.Vm_type,\n KeypairName = @var.Keypair_name,\n BlockDeviceMappings = new[]\n {\n new Outscale.Inputs.VmBlockDeviceMappingArgs\n {\n DeviceName = \"/dev/sda1\",\n Bsu = new Outscale.Inputs.VmBlockDeviceMappingBsuArgs\n {\n VolumeSize = 15,\n VolumeType = \"gp2\",\n SnapshotId = @var.Snapshot_id,\n },\n },\n new Outscale.Inputs.VmBlockDeviceMappingArgs\n {\n DeviceName = \"/dev/sdb\",\n Bsu = new Outscale.Inputs.VmBlockDeviceMappingBsuArgs\n {\n VolumeSize = 22,\n VolumeType = \"io1\",\n Iops = 150,\n DeleteOnVmDeletion = true,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"vm02\", \u0026outscale.VmArgs{\n\t\t\tImageId: pulumi.Any(_var.Image_id),\n\t\t\tVmType: pulumi.Any(_var.Vm_type),\n\t\t\tKeypairName: pulumi.Any(_var.Keypair_name),\n\t\t\tBlockDeviceMappings: outscale.VmBlockDeviceMappingArray{\n\t\t\t\t\u0026outscale.VmBlockDeviceMappingArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"/dev/sda1\"),\n\t\t\t\t\tBsu: \u0026outscale.VmBlockDeviceMappingBsuArgs{\n\t\t\t\t\t\tVolumeSize: pulumi.Int(15),\n\t\t\t\t\t\tVolumeType: pulumi.String(\"gp2\"),\n\t\t\t\t\t\tSnapshotId: pulumi.Any(_var.Snapshot_id),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026outscale.VmBlockDeviceMappingArgs{\n\t\t\t\t\tDeviceName: pulumi.String(\"/dev/sdb\"),\n\t\t\t\t\tBsu: \u0026outscale.VmBlockDeviceMappingBsuArgs{\n\t\t\t\t\t\tVolumeSize: pulumi.Int(22),\n\t\t\t\t\t\tVolumeType: pulumi.String(\"io1\"),\n\t\t\t\t\t\tIops: pulumi.Int(150),\n\t\t\t\t\t\tDeleteOnVmDeletion: pulumi.Bool(true),\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.Vm;\nimport com.pulumi.outscale.VmArgs;\nimport com.pulumi.outscale.inputs.VmBlockDeviceMappingArgs;\nimport com.pulumi.outscale.inputs.VmBlockDeviceMappingBsuArgs;\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 vm02 = new Vm(\"vm02\", VmArgs.builder() \n .imageId(var_.image_id())\n .vmType(var_.vm_type())\n .keypairName(var_.keypair_name())\n .blockDeviceMappings( \n VmBlockDeviceMappingArgs.builder()\n .deviceName(\"/dev/sda1\")\n .bsu(VmBlockDeviceMappingBsuArgs.builder()\n .volumeSize(15)\n .volumeType(\"gp2\")\n .snapshotId(var_.snapshot_id())\n .build())\n .build(),\n VmBlockDeviceMappingArgs.builder()\n .deviceName(\"/dev/sdb\")\n .bsu(VmBlockDeviceMappingBsuArgs.builder()\n .volumeSize(22)\n .volumeType(\"io1\")\n .iops(150)\n .deleteOnVmDeletion(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vm02:\n type: outscale:Vm\n properties:\n imageId: ${var.image_id}\n vmType: ${var.vm_type}\n keypairName: ${var.keypair_name}\n blockDeviceMappings:\n - deviceName: /dev/sda1\n bsu:\n volumeSize: 15\n volumeType: gp2\n snapshotId: ${var.snapshot_id}\n - deviceName: /dev/sdb\n bsu:\n volumeSize: 22\n volumeType: io1\n iops: 150\n deleteOnVmDeletion: true\n```\n{{% /example %}}\n{{% example %}}\n### Create a VM in a Net with a network\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net01 = new outscale.Net(\"net01\", {\n ipRange: \"10.0.0.0/16\",\n tags: [{\n key: \"name\",\n value: \"terraform-net-for-vm\",\n }],\n});\nconst subnet01 = new outscale.Subnet(\"subnet01\", {\n netId: net01.netId,\n ipRange: \"10.0.0.0/24\",\n subregionName: \"eu-west-2b\",\n tags: [{\n key: \"name\",\n value: \"terraform-subnet-for-vm\",\n }],\n});\nconst securityGroup01 = new outscale.SecurityGroup(\"securityGroup01\", {\n description: \"Terraform security group for VM\",\n securityGroupName: \"terraform-security-group-for-vm\",\n netId: net01.netId,\n});\nconst internetService01 = new outscale.InternetService(\"internetService01\", {});\nconst routeTable01 = new outscale.RouteTable(\"routeTable01\", {\n netId: net01.netId,\n tags: [{\n key: \"name\",\n value: \"terraform-route-table-for-vm\",\n }],\n});\nconst routeTableLink01 = new outscale.RouteTableLink(\"routeTableLink01\", {\n routeTableId: routeTable01.routeTableId,\n subnetId: subnet01.subnetId,\n});\nconst internetServiceLink01 = new outscale.InternetServiceLink(\"internetServiceLink01\", {\n internetServiceId: internetService01.internetServiceId,\n netId: net01.netId,\n});\nconst route01 = new outscale.Route(\"route01\", {\n gatewayId: internetService01.internetServiceId,\n destinationIpRange: \"0.0.0.0/0\",\n routeTableId: routeTable01.routeTableId,\n});\nconst vm03 = new outscale.Vm(\"vm03\", {\n imageId: _var.image_id,\n vmType: _var.vm_type,\n keypairName: _var.keypair_name,\n securityGroupIds: [securityGroup01.securityGroupId],\n subnetId: subnet01.subnetId,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet01 = outscale.Net(\"net01\",\n ip_range=\"10.0.0.0/16\",\n tags=[outscale.NetTagArgs(\n key=\"name\",\n value=\"terraform-net-for-vm\",\n )])\nsubnet01 = outscale.Subnet(\"subnet01\",\n net_id=net01.net_id,\n ip_range=\"10.0.0.0/24\",\n subregion_name=\"eu-west-2b\",\n tags=[outscale.SubnetTagArgs(\n key=\"name\",\n value=\"terraform-subnet-for-vm\",\n )])\nsecurity_group01 = outscale.SecurityGroup(\"securityGroup01\",\n description=\"Terraform security group for VM\",\n security_group_name=\"terraform-security-group-for-vm\",\n net_id=net01.net_id)\ninternet_service01 = outscale.InternetService(\"internetService01\")\nroute_table01 = outscale.RouteTable(\"routeTable01\",\n net_id=net01.net_id,\n tags=[outscale.RouteTableTagArgs(\n key=\"name\",\n value=\"terraform-route-table-for-vm\",\n )])\nroute_table_link01 = outscale.RouteTableLink(\"routeTableLink01\",\n route_table_id=route_table01.route_table_id,\n subnet_id=subnet01.subnet_id)\ninternet_service_link01 = outscale.InternetServiceLink(\"internetServiceLink01\",\n internet_service_id=internet_service01.internet_service_id,\n net_id=net01.net_id)\nroute01 = outscale.Route(\"route01\",\n gateway_id=internet_service01.internet_service_id,\n destination_ip_range=\"0.0.0.0/0\",\n route_table_id=route_table01.route_table_id)\nvm03 = outscale.Vm(\"vm03\",\n image_id=var[\"image_id\"],\n vm_type=var[\"vm_type\"],\n keypair_name=var[\"keypair_name\"],\n security_group_ids=[security_group01.security_group_id],\n 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 Tags = new[]\n {\n new Outscale.Inputs.NetTagArgs\n {\n Key = \"name\",\n Value = \"terraform-net-for-vm\",\n },\n },\n });\n\n var subnet01 = new Outscale.Subnet(\"subnet01\", new()\n {\n NetId = net01.NetId,\n IpRange = \"10.0.0.0/24\",\n SubregionName = \"eu-west-2b\",\n Tags = new[]\n {\n new Outscale.Inputs.SubnetTagArgs\n {\n Key = \"name\",\n Value = \"terraform-subnet-for-vm\",\n },\n },\n });\n\n var securityGroup01 = new Outscale.SecurityGroup(\"securityGroup01\", new()\n {\n Description = \"Terraform security group for VM\",\n SecurityGroupName = \"terraform-security-group-for-vm\",\n NetId = net01.NetId,\n });\n\n var internetService01 = new Outscale.InternetService(\"internetService01\");\n\n var routeTable01 = new Outscale.RouteTable(\"routeTable01\", new()\n {\n NetId = net01.NetId,\n Tags = new[]\n {\n new Outscale.Inputs.RouteTableTagArgs\n {\n Key = \"name\",\n Value = \"terraform-route-table-for-vm\",\n },\n },\n });\n\n var routeTableLink01 = new Outscale.RouteTableLink(\"routeTableLink01\", new()\n {\n RouteTableId = routeTable01.RouteTableId,\n SubnetId = subnet01.SubnetId,\n });\n\n var internetServiceLink01 = new Outscale.InternetServiceLink(\"internetServiceLink01\", new()\n {\n InternetServiceId = internetService01.InternetServiceId,\n NetId = net01.NetId,\n });\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 var vm03 = new Outscale.Vm(\"vm03\", new()\n {\n ImageId = @var.Image_id,\n VmType = @var.Vm_type,\n KeypairName = @var.Keypair_name,\n SecurityGroupIds = new[]\n {\n securityGroup01.SecurityGroupId,\n },\n SubnetId = subnet01.SubnetId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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\tTags: outscale.NetTagArray{\n\t\t\t\t\u0026outscale.NetTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-net-for-vm\"),\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\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\tSubregionName: pulumi.String(\"eu-west-2b\"),\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-vm\"),\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, \"securityGroup01\", \u0026outscale.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"Terraform security group for VM\"),\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-security-group-for-vm\"),\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, \"internetService01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trouteTable01, err := outscale.NewRouteTable(ctx, \"routeTable01\", \u0026outscale.RouteTableArgs{\n\t\t\tNetId: net01.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-vm\"),\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.NewRouteTableLink(ctx, \"routeTableLink01\", \u0026outscale.RouteTableLinkArgs{\n\t\t\tRouteTableId: routeTable01.RouteTableId,\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.NewInternetServiceLink(ctx, \"internetServiceLink01\", \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\t_, err = outscale.NewRoute(ctx, \"route01\", \u0026outscale.RouteArgs{\n\t\t\tGatewayId: internetService01.InternetServiceId,\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\t_, err = outscale.NewVm(ctx, \"vm03\", \u0026outscale.VmArgs{\n\t\t\tImageId: pulumi.Any(_var.Image_id),\n\t\t\tVmType: pulumi.Any(_var.Vm_type),\n\t\t\tKeypairName: pulumi.Any(_var.Keypair_name),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsecurityGroup01.SecurityGroupId,\n\t\t\t},\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.inputs.NetTagArgs;\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.InternetService;\nimport com.pulumi.outscale.RouteTable;\nimport com.pulumi.outscale.RouteTableArgs;\nimport com.pulumi.outscale.inputs.RouteTableTagArgs;\nimport com.pulumi.outscale.RouteTableLink;\nimport com.pulumi.outscale.RouteTableLinkArgs;\nimport com.pulumi.outscale.InternetServiceLink;\nimport com.pulumi.outscale.InternetServiceLinkArgs;\nimport com.pulumi.outscale.Route;\nimport com.pulumi.outscale.RouteArgs;\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 net01 = new Net(\"net01\", NetArgs.builder() \n .ipRange(\"10.0.0.0/16\")\n .tags(NetTagArgs.builder()\n .key(\"name\")\n .value(\"terraform-net-for-vm\")\n .build())\n .build());\n\n var subnet01 = new Subnet(\"subnet01\", SubnetArgs.builder() \n .netId(net01.netId())\n .ipRange(\"10.0.0.0/24\")\n .subregionName(\"eu-west-2b\")\n .tags(SubnetTagArgs.builder()\n .key(\"name\")\n .value(\"terraform-subnet-for-vm\")\n .build())\n .build());\n\n var securityGroup01 = new SecurityGroup(\"securityGroup01\", SecurityGroupArgs.builder() \n .description(\"Terraform security group for VM\")\n .securityGroupName(\"terraform-security-group-for-vm\")\n .netId(net01.netId())\n .build());\n\n var internetService01 = new InternetService(\"internetService01\");\n\n var routeTable01 = new RouteTable(\"routeTable01\", RouteTableArgs.builder() \n .netId(net01.netId())\n .tags(RouteTableTagArgs.builder()\n .key(\"name\")\n .value(\"terraform-route-table-for-vm\")\n .build())\n .build());\n\n var routeTableLink01 = new RouteTableLink(\"routeTableLink01\", RouteTableLinkArgs.builder() \n .routeTableId(routeTable01.routeTableId())\n .subnetId(subnet01.subnetId())\n .build());\n\n var internetServiceLink01 = new InternetServiceLink(\"internetServiceLink01\", InternetServiceLinkArgs.builder() \n .internetServiceId(internetService01.internetServiceId())\n .netId(net01.netId())\n .build());\n\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 var vm03 = new Vm(\"vm03\", VmArgs.builder() \n .imageId(var_.image_id())\n .vmType(var_.vm_type())\n .keypairName(var_.keypair_name())\n .securityGroupIds(securityGroup01.securityGroupId())\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 tags:\n - key: name\n value: terraform-net-for-vm\n subnet01:\n type: outscale:Subnet\n properties:\n netId: ${net01.netId}\n ipRange: 10.0.0.0/24\n subregionName: eu-west-2b\n tags:\n - key: name\n value: terraform-subnet-for-vm\n securityGroup01:\n type: outscale:SecurityGroup\n properties:\n description: Terraform security group for VM\n securityGroupName: terraform-security-group-for-vm\n netId: ${net01.netId}\n internetService01:\n type: outscale:InternetService\n routeTable01:\n type: outscale:RouteTable\n properties:\n netId: ${net01.netId}\n tags:\n - key: name\n value: terraform-route-table-for-vm\n routeTableLink01:\n type: outscale:RouteTableLink\n properties:\n routeTableId: ${routeTable01.routeTableId}\n subnetId: ${subnet01.subnetId}\n internetServiceLink01:\n type: outscale:InternetServiceLink\n properties:\n internetServiceId: ${internetService01.internetServiceId}\n netId: ${net01.netId}\n route01:\n type: outscale:Route\n properties:\n gatewayId: ${internetService01.internetServiceId}\n destinationIpRange: 0.0.0.0/0\n routeTableId: ${routeTable01.routeTableId}\n vm03:\n type: outscale:Vm\n properties:\n imageId: ${var.image_id}\n vmType: ${var.vm_type}\n keypairName: ${var.keypair_name}\n securityGroupIds:\n - ${securityGroup01.securityGroupId}\n subnetId: ${subnet01.subnetId}\n```\n{{% /example %}}\n{{% example %}}\n### Create a VM with a NIC\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst net02 = new outscale.Net(\"net02\", {\n ipRange: \"10.0.0.0/16\",\n tags: [{\n key: \"name\",\n value: \"terraform-net-for-vm-with-nic\",\n }],\n});\nconst subnet02 = new outscale.Subnet(\"subnet02\", {\n netId: net02.netId,\n ipRange: \"10.0.0.0/24\",\n subregionName: \"eu-west-2a\",\n tags: [{\n key: \"name\",\n value: \"terraform-subnet-for-vm-with-nic\",\n }],\n});\nconst nic01 = new outscale.Nic(\"nic01\", {subnetId: subnet02.subnetId});\nconst vm04 = new outscale.Vm(\"vm04\", {\n imageId: _var.image_id,\n vmType: \"c4.large\",\n keypairName: _var.keypair_name,\n nics: [{\n nicId: nic01.nicId,\n deviceNumber: 0,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nnet02 = outscale.Net(\"net02\",\n ip_range=\"10.0.0.0/16\",\n tags=[outscale.NetTagArgs(\n key=\"name\",\n value=\"terraform-net-for-vm-with-nic\",\n )])\nsubnet02 = outscale.Subnet(\"subnet02\",\n net_id=net02.net_id,\n ip_range=\"10.0.0.0/24\",\n subregion_name=\"eu-west-2a\",\n tags=[outscale.SubnetTagArgs(\n key=\"name\",\n value=\"terraform-subnet-for-vm-with-nic\",\n )])\nnic01 = outscale.Nic(\"nic01\", subnet_id=subnet02.subnet_id)\nvm04 = outscale.Vm(\"vm04\",\n image_id=var[\"image_id\"],\n vm_type=\"c4.large\",\n keypair_name=var[\"keypair_name\"],\n nics=[outscale.VmNicArgs(\n nic_id=nic01.nic_id,\n device_number=0,\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 Tags = new[]\n {\n new Outscale.Inputs.NetTagArgs\n {\n Key = \"name\",\n Value = \"terraform-net-for-vm-with-nic\",\n },\n },\n });\n\n var subnet02 = new Outscale.Subnet(\"subnet02\", new()\n {\n NetId = net02.NetId,\n IpRange = \"10.0.0.0/24\",\n SubregionName = \"eu-west-2a\",\n Tags = new[]\n {\n new Outscale.Inputs.SubnetTagArgs\n {\n Key = \"name\",\n Value = \"terraform-subnet-for-vm-with-nic\",\n },\n },\n });\n\n var nic01 = new Outscale.Nic(\"nic01\", new()\n {\n SubnetId = subnet02.SubnetId,\n });\n\n var vm04 = new Outscale.Vm(\"vm04\", new()\n {\n ImageId = @var.Image_id,\n VmType = \"c4.large\",\n KeypairName = @var.Keypair_name,\n Nics = new[]\n {\n new Outscale.Inputs.VmNicArgs\n {\n NicId = nic01.NicId,\n DeviceNumber = 0,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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\tTags: outscale.NetTagArray{\n\t\t\t\t\u0026outscale.NetTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\tValue: pulumi.String(\"terraform-net-for-vm-with-nic\"),\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\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\tSubregionName: pulumi.String(\"eu-west-2a\"),\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-vm-with-nic\"),\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\tnic01, err := outscale.NewNic(ctx, \"nic01\", \u0026outscale.NicArgs{\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.NewVm(ctx, \"vm04\", \u0026outscale.VmArgs{\n\t\t\tImageId: pulumi.Any(_var.Image_id),\n\t\t\tVmType: pulumi.String(\"c4.large\"),\n\t\t\tKeypairName: pulumi.Any(_var.Keypair_name),\n\t\t\tNics: outscale.VmNicArray{\n\t\t\t\t\u0026outscale.VmNicArgs{\n\t\t\t\t\tNicId: nic01.NicId,\n\t\t\t\t\tDeviceNumber: pulumi.Int(0),\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.inputs.NetTagArgs;\nimport com.pulumi.outscale.Subnet;\nimport com.pulumi.outscale.SubnetArgs;\nimport com.pulumi.outscale.inputs.SubnetTagArgs;\nimport com.pulumi.outscale.Nic;\nimport com.pulumi.outscale.NicArgs;\nimport com.pulumi.outscale.Vm;\nimport com.pulumi.outscale.VmArgs;\nimport com.pulumi.outscale.inputs.VmNicArgs;\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 .tags(NetTagArgs.builder()\n .key(\"name\")\n .value(\"terraform-net-for-vm-with-nic\")\n .build())\n .build());\n\n var subnet02 = new Subnet(\"subnet02\", SubnetArgs.builder() \n .netId(net02.netId())\n .ipRange(\"10.0.0.0/24\")\n .subregionName(\"eu-west-2a\")\n .tags(SubnetTagArgs.builder()\n .key(\"name\")\n .value(\"terraform-subnet-for-vm-with-nic\")\n .build())\n .build());\n\n var nic01 = new Nic(\"nic01\", NicArgs.builder() \n .subnetId(subnet02.subnetId())\n .build());\n\n var vm04 = new Vm(\"vm04\", VmArgs.builder() \n .imageId(var_.image_id())\n .vmType(\"c4.large\")\n .keypairName(var_.keypair_name())\n .nics(VmNicArgs.builder()\n .nicId(nic01.nicId())\n .deviceNumber(\"0\")\n .build())\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 tags:\n - key: name\n value: terraform-net-for-vm-with-nic\n subnet02:\n type: outscale:Subnet\n properties:\n netId: ${net02.netId}\n ipRange: 10.0.0.0/24\n subregionName: eu-west-2a\n tags:\n - key: name\n value: terraform-subnet-for-vm-with-nic\n nic01:\n type: outscale:Nic\n properties:\n subnetId: ${subnet02.subnetId}\n vm04:\n type: outscale:Vm\n properties:\n imageId: ${var.image_id}\n vmType: c4.large\n keypairName: ${var.keypair_name}\n nics:\n - nicId: ${nic01.nicId}\n deviceNumber: '0'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA VM can be imported using its ID. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/vm:Vm ImportedVm i-12345678\n```\n\n ", + "properties": { + "adminPassword": { + "type": "string" + }, + "architecture": { + "type": "string", + "description": "The architecture of the VM (`i386` \\| `x86_64`).\n" + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmBlockDeviceMapping:VmBlockDeviceMapping" + }, + "description": "One or more block device mappings.\n" + }, + "blockDeviceMappingsCreateds": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmBlockDeviceMappingsCreated:VmBlockDeviceMappingsCreated" + }, + "description": "The block device mapping of the VM.\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 of creation of the VM.\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 `admin_password` attribute.\n" + }, + "hypervisor": { + "type": "string", + "description": "The hypervisor type of the VMs (`ovm` \\| `xen`).\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. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair.\n" + }, + "launchNumber": { + "type": "integer", + "description": "The number for the VM when launching a group of several VMs (for example, `0`, `1`, `2`, 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/VmNic:VmNic" + }, + "description": "One or more NICs. If you specify this parameter, you must not specify the `subnet_id` and `subregion_name` parameters. You also must define one NIC as the primary network interface of the VM with `0` as its device number.\n" + }, + "osFamily": { + "type": "string", + "description": "Indicates the operating system (OS) of the VM.\n" + }, + "performance": { + "type": "string", + "description": "The performance of the VM (`medium` | `high` | `highest`). 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 (`default` | `dedicated`).\n" + }, + "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": { + "type": "string" + }, + "description": "One or more private IPs of the VM.\n" + }, + "productCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The product code associated with the OMI used to create the VM (`0001` Linux/Unix \\| `0002` Windows \\| `0004` Linux/Oracle \\| `0005` Windows 10).\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/vda1`).\n" + }, + "rootDeviceType": { + "type": "string", + "description": "The type of root device used by the VM (always `bsu`).\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of security group for the VMs.\n" + }, + "securityGroupNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more names of security groups for the VMs.\n" + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmSecurityGroup:VmSecurityGroup" + }, + "description": "One or more security groups associated with the VM.\n" + }, + "state": { + "type": "string", + "description": "The state of the VM (`running` | `stopped`). If set to `stopped`, the VM is stopped regardless of the value of the `vm_initiated_shutdown_behavior` 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 `nics` parameter.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmTag:VmTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "userData": { + "type": "string", + "description": "Data or script used to add a specific configuration to the VM. It must be Base64-encoded, either directly or using the base64encode. Updating this parameter will trigger a stop/start of the VM.\n" + }, + "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 `stop`, the VM stops. If set to `restart`, the VM stops then automatically restarts. If set to `terminate`, 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 [Instance Types](https://docs.outscale.com/en/userguide/Instance-Types.html).\n" + } + }, + "required": [ + "adminPassword", + "architecture", + "blockDeviceMappingsCreateds", + "bsuOptimized", + "clientToken", + "creationDate", + "deletionProtection", + "hypervisor", + "imageId", + "isSourceDestChecked", + "keypairName", + "launchNumber", + "netId", + "nics", + "osFamily", + "performance", + "placementSubregionName", + "placementTenancy", + "privateDnsName", + "privateIp", + "productCodes", + "publicDnsName", + "publicIp", + "requestId", + "reservationId", + "rootDeviceName", + "rootDeviceType", + "securityGroups", + "stateReason", + "subnetId", + "vmId", + "vmInitiatedShutdownBehavior", + "vmType" + ], + "inputProperties": { + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmBlockDeviceMapping:VmBlockDeviceMapping" + }, + "description": "One or more block device mappings.\n" + }, + "blockDeviceMappingsCreateds": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmBlockDeviceMappingsCreated:VmBlockDeviceMappingsCreated" + }, + "description": "The block device mapping of the VM.\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 `admin_password` 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", + "willReplaceOnChanges": true + }, + "isSourceDestChecked": { + "type": "boolean", + "description": "(Net only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair.\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/VmNic:VmNic" + }, + "description": "One or more NICs. If you specify this parameter, you must not specify the `subnet_id` and `subregion_name` parameters. You also must define one NIC as the primary network interface of the VM with `0` as its device number.\n", + "willReplaceOnChanges": true + }, + "performance": { + "type": "string", + "description": "The performance of the VM (`medium` | `high` | `highest`). 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 (`default` | `dedicated`).\n" + }, + "privateIps": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more private IPs of the VM.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of security group for the VMs.\n" + }, + "securityGroupNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more names of security groups for the VMs.\n" + }, + "state": { + "type": "string", + "description": "The state of the VM (`running` | `stopped`). If set to `stopped`, the VM is stopped regardless of the value of the `vm_initiated_shutdown_behavior` 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 `nics` parameter.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmTag:VmTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "userData": { + "type": "string", + "description": "Data or script used to add a specific configuration to the VM. It must be Base64-encoded, either directly or using the base64encode. Updating this parameter will trigger a stop/start of the VM.\n" + }, + "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 `stop`, the VM stops. If set to `restart`, the VM stops then automatically restarts. If set to `terminate`, 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 [Instance Types](https://docs.outscale.com/en/userguide/Instance-Types.html).\n" + } + }, + "requiredInputs": [ + "imageId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Vm resources.\n", + "properties": { + "adminPassword": { + "type": "string" + }, + "architecture": { + "type": "string", + "description": "The architecture of the VM (`i386` \\| `x86_64`).\n" + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmBlockDeviceMapping:VmBlockDeviceMapping" + }, + "description": "One or more block device mappings.\n" + }, + "blockDeviceMappingsCreateds": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmBlockDeviceMappingsCreated:VmBlockDeviceMappingsCreated" + }, + "description": "The block device mapping of the VM.\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 of creation of the VM.\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 `admin_password` attribute.\n" + }, + "hypervisor": { + "type": "string", + "description": "The hypervisor type of the VMs (`ovm` \\| `xen`).\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", + "willReplaceOnChanges": true + }, + "isSourceDestChecked": { + "type": "boolean", + "description": "(Net only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair.\n" + }, + "launchNumber": { + "type": "integer", + "description": "The number for the VM when launching a group of several VMs (for example, `0`, `1`, `2`, 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/VmNic:VmNic" + }, + "description": "One or more NICs. If you specify this parameter, you must not specify the `subnet_id` and `subregion_name` parameters. You also must define one NIC as the primary network interface of the VM with `0` as its device number.\n", + "willReplaceOnChanges": true + }, + "osFamily": { + "type": "string", + "description": "Indicates the operating system (OS) of the VM.\n" + }, + "performance": { + "type": "string", + "description": "The performance of the VM (`medium` | `high` | `highest`). 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 (`default` | `dedicated`).\n" + }, + "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": { + "type": "string" + }, + "description": "One or more private IPs of the VM.\n" + }, + "productCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The product code associated with the OMI used to create the VM (`0001` Linux/Unix \\| `0002` Windows \\| `0004` Linux/Oracle \\| `0005` Windows 10).\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/vda1`).\n" + }, + "rootDeviceType": { + "type": "string", + "description": "The type of root device used by the VM (always `bsu`).\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of security group for the VMs.\n" + }, + "securityGroupNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more names of security groups for the VMs.\n" + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmSecurityGroup:VmSecurityGroup" + }, + "description": "One or more security groups associated with the VM.\n" + }, + "state": { + "type": "string", + "description": "The state of the VM (`running` | `stopped`). If set to `stopped`, the VM is stopped regardless of the value of the `vm_initiated_shutdown_behavior` 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 `nics` parameter.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VmTag:VmTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "userData": { + "type": "string", + "description": "Data or script used to add a specific configuration to the VM. It must be Base64-encoded, either directly or using the base64encode. Updating this parameter will trigger a stop/start of the VM.\n" + }, + "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 `stop`, the VM stops. If set to `restart`, the VM stops then automatically restarts. If set to `terminate`, 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 [Instance Types](https://docs.outscale.com/en/userguide/Instance-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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n iops: 100,\n size: 10,\n subregionName: `${_var.region}a`,\n volumeType: \"io1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume01 = outscale.Volume(\"volume01\",\n iops=100,\n size=10,\n subregion_name=f\"{var['region']}a\",\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 Iops = 100,\n Size = 10,\n SubregionName = $\"{@var.Region}a\",\n VolumeType = \"io1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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\tIops: pulumi.Int(100),\n\t\t\tSize: pulumi.Int(10),\n\t\t\tSubregionName: pulumi.String(fmt.Sprintf(\"%va\", _var.Region)),\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 .iops(100)\n .size(10)\n .subregionName(String.format(\"%sa\", var_.region()))\n .volumeType(\"io1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n volume01:\n type: outscale:Volume\n properties:\n iops: 100\n size: 10\n subregionName: ${var.region}a\n volumeType: io1\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA volume can be imported using its ID. For exampleconsole\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 of creation of the volume.\n" + }, + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS). This parameter must be specified only if you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` with a maximum performance ratio of 300 IOPS per gibibyte.\n" + }, + "linkedVolumes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VolumeLinkedVolume:VolumeLinkedVolume" + }, + "description": "Information about your volume attachment.\n" + }, + "requestId": { + "type": "string" + }, + "size": { + "type": "integer", + "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 (`snapshot_id` 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 (`creating` \\| `available` \\| `in-use` \\| `updating` \\| `deleting` \\| `error`).\n" + }, + "subregionName": { + "type": "string", + "description": "The Subregion in which you want to create the volume.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VolumeTag:VolumeTag" + }, + "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" + }, + "volumeType": { + "type": "string", + "description": "The type of volume you want to create (`io1` \\| `gp2` \\| `standard`). If not specified, a `standard` 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" + } + }, + "required": [ + "creationDate", + "iops", + "linkedVolumes", + "requestId", + "size", + "snapshotId", + "state", + "subregionName", + "volumeId", + "volumeType" + ], + "inputProperties": { + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS). This parameter must be specified only if you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` with a maximum performance ratio of 300 IOPS per gibibyte.\n", + "willReplaceOnChanges": true + }, + "size": { + "type": "integer", + "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 (`snapshot_id` unspecified).\n", + "willReplaceOnChanges": true + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot from which you want to create the volume.\n", + "willReplaceOnChanges": true + }, + "subregionName": { + "type": "string", + "description": "The Subregion in which you want to create the volume.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VolumeTag:VolumeTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "volumeType": { + "type": "string", + "description": "The type of volume you want to create (`io1` \\| `gp2` \\| `standard`). If not specified, a `standard` 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", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "subregionName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Volume resources.\n", + "properties": { + "creationDate": { + "type": "string", + "description": "The date and time of creation of the volume.\n" + }, + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS). This parameter must be specified only if you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` with a maximum performance ratio of 300 IOPS per gibibyte.\n", + "willReplaceOnChanges": true + }, + "linkedVolumes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VolumeLinkedVolume:VolumeLinkedVolume" + }, + "description": "Information about your volume attachment.\n" + }, + "requestId": { + "type": "string" + }, + "size": { + "type": "integer", + "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 (`snapshot_id` unspecified).\n", + "willReplaceOnChanges": true + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot from which you want to create the volume.\n", + "willReplaceOnChanges": true + }, + "state": { + "type": "string", + "description": "The state of the volume (`creating` \\| `available` \\| `in-use` \\| `updating` \\| `deleting` \\| `error`).\n" + }, + "subregionName": { + "type": "string", + "description": "The Subregion in which you want to create the volume.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VolumeTag:VolumeTag" + }, + "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" + }, + "volumeType": { + "type": "string", + "description": "The type of volume you want to create (`io1` \\| `gp2` \\| `standard`). If not specified, a `standard` 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", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "outscale:index/volumesLink:VolumesLink": { + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volume01 = new outscale.Volume(\"volume01\", {\n subregionName: `${_var.region}a`,\n size: 40,\n});\nconst vm01 = new outscale.Vm(\"vm01\", {\n imageId: _var.image_id,\n vmType: _var.vm_type,\n keypairName: _var.keypair_name,\n securityGroupIds: [_var.security_group_id],\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolume01 = outscale.Volume(\"volume01\",\n subregion_name=f\"{var['region']}a\",\n size=40)\nvm01 = outscale.Vm(\"vm01\",\n image_id=var[\"image_id\"],\n vm_type=var[\"vm_type\"],\n keypair_name=var[\"keypair_name\"],\n security_group_ids=[var[\"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 = $\"{@var.Region}a\",\n Size = 40,\n });\n\n var vm01 = new Outscale.Vm(\"vm01\", new()\n {\n ImageId = @var.Image_id,\n VmType = @var.Vm_type,\n KeypairName = @var.Keypair_name,\n SecurityGroupIds = new[]\n {\n @var.Security_group_id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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.String(fmt.Sprintf(\"%va\", _var.Region)),\n\t\t\tSize: pulumi.Int(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(_var.Image_id),\n\t\t\tVmType: pulumi.Any(_var.Vm_type),\n\t\t\tKeypairName: pulumi.Any(_var.Keypair_name),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t_var.Security_group_id,\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\", var_.region()))\n .size(40)\n .build());\n\n var vm01 = new Vm(\"vm01\", VmArgs.builder() \n .imageId(var_.image_id())\n .vmType(var_.vm_type())\n .keypairName(var_.keypair_name())\n .securityGroupIds(var_.security_group_id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n volume01:\n type: outscale:Volume\n properties:\n subregionName: ${var.region}a\n size: 40\n vm01:\n type: outscale:Vm\n properties:\n imageId: ${var.image_id}\n vmType: ${var.vm_type}\n keypairName: ${var.keypair_name}\n securityGroupIds:\n - ${var.security_group_id}\n```\n{{% /example %}}\n{{% example %}}\n### Link a volume to a VM\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst volumesLink01 = new outscale.VolumesLink(\"volumesLink01\", {\n deviceName: \"/dev/xvdc\",\n volumeId: outscale_volume.volume01.id,\n vmId: outscale_vm.vm01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvolumes_link01 = outscale.VolumesLink(\"volumesLink01\",\n device_name=\"/dev/xvdc\",\n volume_id=outscale_volume[\"volume01\"][\"id\"],\n vm_id=outscale_vm[\"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 volumesLink01 = new Outscale.VolumesLink(\"volumesLink01\", new()\n {\n DeviceName = \"/dev/xvdc\",\n VolumeId = outscale_volume.Volume01.Id,\n VmId = outscale_vm.Vm01.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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.NewVolumesLink(ctx, \"volumesLink01\", \u0026outscale.VolumesLinkArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/xvdc\"),\n\t\t\tVolumeId: pulumi.Any(outscale_volume.Volume01.Id),\n\t\t\tVmId: pulumi.Any(outscale_vm.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.VolumesLink;\nimport com.pulumi.outscale.VolumesLinkArgs;\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 volumesLink01 = new VolumesLink(\"volumesLink01\", VolumesLinkArgs.builder() \n .deviceName(\"/dev/xvdc\")\n .volumeId(outscale_volume.volume01().id())\n .vmId(outscale_vm.vm01().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n volumesLink01:\n type: outscale:VolumesLink\n properties:\n deviceName: /dev/xvdc\n volumeId: ${outscale_volume.volume01.id}\n vmId: ${outscale_vm.vm01.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA volume link can be imported using a volume ID. For exampleconsole\n\n```sh\n $ pulumi import outscale:index/volumesLink:VolumesLink ImportedVolumeLink vol-12345678\n```\n\n ", + "properties": { + "deleteOnVmTermination": { + "type": "boolean" + }, + "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 `b` and `z`, and the second `X` is a letter between `a` and `z`).\n" + }, + "forceUnlink": { + "type": "boolean" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the attachment of the volume (`attaching` | `detaching` | `attached` | `detached`).\n" + }, + "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" + } + }, + "required": [ + "deviceName", + "forceUnlink", + "requestId", + "state", + "vmId", + "volumeId" + ], + "inputProperties": { + "deleteOnVmTermination": { + "type": "boolean", + "willReplaceOnChanges": true + }, + "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 `b` and `z`, and the second `X` is a letter between `a` and `z`).\n", + "willReplaceOnChanges": true + }, + "forceUnlink": { + "type": "boolean", + "willReplaceOnChanges": true + }, + "vmId": { + "type": "string", + "description": "The ID of the VM you want to attach the volume to.\n", + "willReplaceOnChanges": true + }, + "volumeId": { + "type": "string", + "description": "The ID of the volume you want to attach.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "deviceName", + "vmId", + "volumeId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VolumesLink resources.\n", + "properties": { + "deleteOnVmTermination": { + "type": "boolean", + "willReplaceOnChanges": true + }, + "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 `b` and `z`, and the second `X` is a letter between `a` and `z`).\n", + "willReplaceOnChanges": true + }, + "forceUnlink": { + "type": "boolean", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the attachment of the volume (`attaching` | `detaching` | `attached` | `detached`).\n" + }, + "vmId": { + "type": "string", + "description": "The ID of the VM you want to attach the volume to.\n", + "willReplaceOnChanges": true + }, + "volumeId": { + "type": "string", + "description": "The ID of the volume you want to attach.\n", + "willReplaceOnChanges": true + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst clientGateway01 = new outscale.ClientGateway(\"clientGateway01\", {\n bgpAsn: 65000,\n connectionType: \"ipsec.1\",\n publicIp: \"111.11.11.111\",\n});\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtualGateway01\", {connectionType: \"ipsec.1\"});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nclient_gateway01 = outscale.ClientGateway(\"clientGateway01\",\n bgp_asn=65000,\n connection_type=\"ipsec.1\",\n public_ip=\"111.11.11.111\")\nvirtual_gateway01 = outscale.VirtualGateway(\"virtualGateway01\", 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(\"clientGateway01\", new()\n {\n BgpAsn = 65000,\n ConnectionType = \"ipsec.1\",\n PublicIp = \"111.11.11.111\",\n });\n\n var virtualGateway01 = new Outscale.VirtualGateway(\"virtualGateway01\", new()\n {\n ConnectionType = \"ipsec.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"clientGateway01\", \u0026outscale.ClientGatewayArgs{\n\t\t\tBgpAsn: pulumi.Int(65000),\n\t\t\tConnectionType: pulumi.String(\"ipsec.1\"),\n\t\t\tPublicIp: pulumi.String(\"111.11.11.111\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = outscale.NewVirtualGateway(ctx, \"virtualGateway01\", \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)\n .connectionType(\"ipsec.1\")\n .publicIp(\"111.11.11.111\")\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 properties:\n bgpAsn: 65000\n connectionType: ipsec.1\n publicIp: 111.11.11.111\n virtualGateway01:\n type: outscale:VirtualGateway\n properties:\n connectionType: ipsec.1\n```\n{{% /example %}}\n{{% example %}}\n### Create a VPN connection\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vpnConnection01 = new outscale.VpnConnection(\"vpnConnection01\", {\n clientGatewayId: outscale_client_gateway.client_gateway01.client_gateway_id,\n virtualGatewayId: outscale_virtual_gateway.virtual_gateway01.virtual_gateway_id,\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(\"vpnConnection01\",\n client_gateway_id=outscale_client_gateway[\"client_gateway01\"][\"client_gateway_id\"],\n virtual_gateway_id=outscale_virtual_gateway[\"virtual_gateway01\"][\"virtual_gateway_id\"],\n connection_type=\"ipsec.1\",\n static_routes_only=True,\n tags=[outscale.VpnConnectionTagArgs(\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(\"vpnConnection01\", new()\n {\n ClientGatewayId = outscale_client_gateway.Client_gateway01.Client_gateway_id,\n VirtualGatewayId = outscale_virtual_gateway.Virtual_gateway01.Virtual_gateway_id,\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/outscale/pulumi-outscale/sdk/go/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, \"vpnConnection01\", \u0026outscale.VpnConnectionArgs{\n\t\t\tClientGatewayId: pulumi.Any(outscale_client_gateway.Client_gateway01.Client_gateway_id),\n\t\t\tVirtualGatewayId: pulumi.Any(outscale_virtual_gateway.Virtual_gateway01.Virtual_gateway_id),\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(outscale_client_gateway.client_gateway01().client_gateway_id())\n .virtualGatewayId(outscale_virtual_gateway.virtual_gateway01().virtual_gateway_id())\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 properties:\n clientGatewayId: ${outscale_client_gateway.client_gateway01.client_gateway_id}\n virtualGatewayId: ${outscale_virtual_gateway.virtual_gateway01.virtual_gateway_id}\n connectionType: ipsec.1\n staticRoutesOnly: true\n tags:\n - key: Name\n value: vpn01\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA VPN connection can be imported using its ID. For exampleconsole\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 (only `ipsec.1` is supported).\n" + }, + "requestId": { + "type": "string" + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VpnConnectionRoute: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": "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/VpnConnectionTag:VpnConnectionTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "vgwTelemetries": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VpnConnectionVgwTelemetry: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" + } + }, + "required": [ + "clientGatewayConfiguration", + "clientGatewayId", + "connectionType", + "requestId", + "routes", + "state", + "vgwTelemetries", + "virtualGatewayId", + "vpnConnectionId" + ], + "inputProperties": { + "clientGatewayId": { + "type": "string", + "description": "The ID of the client gateway.\n", + "willReplaceOnChanges": true + }, + "connectionType": { + "type": "string", + "description": "The type of VPN connection (only `ipsec.1` is supported).\n", + "willReplaceOnChanges": true + }, + "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", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VpnConnectionTag:VpnConnectionTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "virtualGatewayId": { + "type": "string", + "description": "The ID of the virtual gateway.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "connectionType": { + "type": "string", + "description": "The type of VPN connection (only `ipsec.1` is supported).\n", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VpnConnectionRoute: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": "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", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VpnConnectionTag:VpnConnectionTag" + }, + "description": "A tag to add to this resource. You can specify this argument several times.\n" + }, + "vgwTelemetries": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/VpnConnectionVgwTelemetry: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", + "willReplaceOnChanges": true + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Required resources\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst clientGateway01 = new outscale.ClientGateway(\"clientGateway01\", {\n bgpAsn: 65000,\n publicIp: \"111.11.11.111\",\n connectionType: \"ipsec.1\",\n});\nconst virtualGateway01 = new outscale.VirtualGateway(\"virtualGateway01\", {connectionType: \"ipsec.1\"});\nconst vpnConnection01 = new outscale.VpnConnection(\"vpnConnection01\", {\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(\"clientGateway01\",\n bgp_asn=65000,\n public_ip=\"111.11.11.111\",\n connection_type=\"ipsec.1\")\nvirtual_gateway01 = outscale.VirtualGateway(\"virtualGateway01\", connection_type=\"ipsec.1\")\nvpn_connection01 = outscale.VpnConnection(\"vpnConnection01\",\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(\"clientGateway01\", new()\n {\n BgpAsn = 65000,\n PublicIp = \"111.11.11.111\",\n ConnectionType = \"ipsec.1\",\n });\n\n var virtualGateway01 = new Outscale.VirtualGateway(\"virtualGateway01\", new()\n {\n ConnectionType = \"ipsec.1\",\n });\n\n var vpnConnection01 = new Outscale.VpnConnection(\"vpnConnection01\", 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/outscale/pulumi-outscale/sdk/go/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, \"clientGateway01\", \u0026outscale.ClientGatewayArgs{\n\t\t\tBgpAsn: pulumi.Int(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, \"virtualGateway01\", \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, \"vpnConnection01\", \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)\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 properties:\n bgpAsn: 65000\n publicIp: 111.11.11.111\n connectionType: ipsec.1\n virtualGateway01:\n type: outscale:VirtualGateway\n properties:\n connectionType: ipsec.1\n vpnConnection01:\n type: outscale:VpnConnection\n properties:\n clientGatewayId: ${clientGateway01.clientGatewayId}\n virtualGatewayId: ${virtualGateway01.virtualGatewayId}\n connectionType: ipsec.1\n staticRoutesOnly: true\n```\n{{% /example %}}\n{{% example %}}\n### Create a static route to a VPN connection\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst vpnConnectionRoute01 = new outscale.VpnConnectionRoute(\"vpnConnectionRoute01\", {\n vpnConnectionId: outscale_vpn_connection.vpn_connection01.vpn_connection_id,\n destinationIpRange: \"10.0.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nvpn_connection_route01 = outscale.VpnConnectionRoute(\"vpnConnectionRoute01\",\n vpn_connection_id=outscale_vpn_connection[\"vpn_connection01\"][\"vpn_connection_id\"],\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(\"vpnConnectionRoute01\", new()\n {\n VpnConnectionId = outscale_vpn_connection.Vpn_connection01.Vpn_connection_id,\n DestinationIpRange = \"10.0.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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, \"vpnConnectionRoute01\", \u0026outscale.VpnConnectionRouteArgs{\n\t\t\tVpnConnectionId: pulumi.Any(outscale_vpn_connection.Vpn_connection01.Vpn_connection_id),\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(outscale_vpn_connection.vpn_connection01().vpn_connection_id())\n .destinationIpRange(\"10.0.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpnConnectionRoute01:\n type: outscale:VpnConnectionRoute\n properties:\n vpnConnectionId: ${outscale_vpn_connection.vpn_connection01.vpn_connection_id}\n destinationIpRange: 10.0.0.0/16\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA VPN connection route can be imported using the VPN connection ID and the route destination IP range. For exampleconsole\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" + }, + "vpnConnectionId": { + "type": "string", + "description": "The ID of the target VPN connection of the static route.\n" + } + }, + "required": [ + "destinationIpRange", + "requestId", + "vpnConnectionId" + ], + "inputProperties": { + "destinationIpRange": { + "type": "string", + "description": "The network prefix of the route, in CIDR notation (for example, `10.12.0.0/16`).\n", + "willReplaceOnChanges": true + }, + "vpnConnectionId": { + "type": "string", + "description": "The ID of the target VPN connection of the static route.\n", + "willReplaceOnChanges": true + } + }, + "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", + "willReplaceOnChanges": true + }, + "requestId": { + "type": "string" + }, + "vpnConnectionId": { + "type": "string", + "description": "The ID of the target VPN connection of the static route.\n", + "willReplaceOnChanges": true + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetAccessKeyFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "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/getAccessKeyFilter: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", + "willReplaceOnChanges": true + }, + "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" + }, + "outputs": { + "description": "A collection of values returned by getAccessKey.\n", + "properties": { + "accessKeyId": { + "type": "string", + "description": "The ID of the access key.\n" + }, + "creationDate": { + "type": "string", + "description": "The date and time (UTC) of creation of the access key.\n" + }, + "expirationDate": { + "type": "string", + "description": "The date (UTC) at which the access key expires.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getAccessKeyFilter:getAccessKeyFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "lastModificationDate": { + "type": "string", + "description": "The date and time (UTC) of the last modification of the access key.\n" + }, + "requestId": { + "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" + } + }, + "type": "object", + "required": [ + "creationDate", + "expirationDate", + "lastModificationDate", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetAccessKeysFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getAccessKeys.\n", + "properties": { + "accessKeyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the access keys.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getAccessKeysFilter: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", + "willReplaceOnChanges": true + }, + "states": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The states of the access keys (`ACTIVE` \\| `INACTIVE`).\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getAccessKeys.\n", + "properties": { + "accessKeyIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "accessKeys": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getAccessKeysAccessKey:getAccessKeysAccessKey" + }, + "description": "A list of access keys.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getAccessKeysFilter:getAccessKeysFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "states": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "accessKeys", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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/outscale/pulumi-outscale/sdk/go/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, nil, 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 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();\n\n }\n}\n```\n```yaml\nvariables:\n account01:\n fn::invoke:\n Function: outscale:getAccount\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "outputs": { + "description": "A collection of values returned by getAccount.\n", + "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" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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" + }, + "requestId": { + "type": "string" + }, + "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", + "requestId", + "stateProvince", + "vatNumber", + "zipCode", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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/outscale/pulumi-outscale/sdk/go/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, nil, 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 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();\n\n }\n}\n```\n```yaml\nvariables:\n allAccounts:\n fn::invoke:\n Function: outscale:getAccounts\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "outputs": { + "description": "A collection of values returned by getAccounts.\n", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getAccountsAccount:getAccountsAccount" + }, + "description": "The list of the accounts.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "accounts", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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/outscale/pulumi-outscale/sdk/go/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, nil, 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 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();\n\n }\n}\n```\n```yaml\nvariables:\n unique:\n fn::invoke:\n Function: outscale:getApiAccessPolicy\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "outputs": { + "description": "A collection of values returned by getApiAccessPolicy.\n", + "properties": { + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "maxAccessKeyExpirationSeconds": { + "type": "integer", + "description": "The maximum possible lifetime for your access keys, in seconds. If `0`, your access keys can have unlimited lifetimes.\n" + }, + "requestId": { + "type": "string" + }, + "requireTrustedEnv": { + "type": "boolean", + "description": "If true, a trusted session is activated, allowing you to bypass Certificate Authorities (CAs) enforcement. For more information, see the `ApiKeyAuth` authentication scheme in the [Authentication](https://docs.outscale.com/api#authentication) section.\n" + } + }, + "type": "object", + "required": [ + "maxAccessKeyExpirationSeconds", + "requestId", + "requireTrustedEnv", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetApiAccessRuleFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getApiAccessRule.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getApiAccessRuleFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getApiAccessRule.\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) 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" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getApiAccessRuleFilter:getApiAccessRuleFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "apiAccessRuleId", + "caIds", + "cns", + "description", + "ipRanges", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetApiAccessRulesFilterArgs(\n name=\"ca_ids\",\n values=[\n \"ca-12345678\",\n \"ca-87654321\",\n ],\n ),\n outscale.GetApiAccessRulesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getApiAccessRules.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getApiAccessRulesFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getApiAccessRules.\n", + "properties": { + "apiAccessRules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getApiAccessRulesApiAccessRule:getApiAccessRulesApiAccessRule" + }, + "description": "A list of API access rules.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getApiAccessRulesFilter:getApiAccessRulesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "apiAccessRules", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetCaFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getCa.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getCaFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getCa.\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": { + "type": "string", + "description": "The description of the CA.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getCaFilter:getCaFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "caFingerprint", + "caId", + "caPem", + "description", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetCasFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getCas.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getCasFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getCas.\n", + "properties": { + "cas": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getCasCa:getCasCa" + }, + "description": "Information about one or more CAs.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getCasFilter:getCasFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "cas", + "requestId", + "id" + ] + } + }, + "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-Customer-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-clientgateway).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetClientGatewayFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "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/getClientGatewayFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getClientGateway.\n", + "properties": { + "bgpAsn": { + "type": "integer", + "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 (only `ipsec.1` is supported).\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getClientGatewayFilter:getClientGatewayFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "publicIp": { + "type": "string", + "description": "The public IPv4 address of the client gateway (must be a fixed address into a NATed network).\n" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the client gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getClientGatewayTag:getClientGatewayTag" + }, + "description": "One or more tags associated with the client gateway.\n" + } + }, + "type": "object", + "required": [ + "bgpAsn", + "connectionType", + "publicIp", + "requestId", + "state", + "tags", + "id" + ] + } + }, + "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-Customer-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-clientgateway).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetClientGatewaysFilterArgs(\n name=\"bgp_asns\",\n values=[\"65000\"],\n ),\n outscale.GetClientGatewaysFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getClientGateways.\n", + "properties": { + "clientGatewayIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the client gateways.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getClientGatewaysFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getClientGateways.\n", + "properties": { + "clientGatewayIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "clientGateways": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getClientGatewaysClientGateway:getClientGatewaysClientGateway" + }, + "description": "Information about one or more client gateways.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getClientGatewaysFilter:getClientGatewaysFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "clientGateways", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetDhcpOptionFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getDhcpOption.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getDhcpOptionFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getDhcpOption.\n", + "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" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getDhcpOptionFilter:getDhcpOptionFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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" + }, + "requestId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getDhcpOptionTag:getDhcpOptionTag" + }, + "description": "One or more tags associated with the DHCP options set.\n" + } + }, + "type": "object", + "required": [ + "default", + "dhcpOptionsSetId", + "domainName", + "domainNameServers", + "logServers", + "ntpServers", + "requestId", + "tags", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetDhcpOptionsFilterArgs(\n name=\"domain_name_servers\",\n values=[\n \"111.11.111.1\",\n \"222.22.222.2\",\n ],\n ),\n outscale.GetDhcpOptionsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getDhcpOptions.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getDhcpOptionsFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getDhcpOptions.\n", + "properties": { + "dhcpOptions": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getDhcpOptionsDhcpOption:getDhcpOptionsDhcpOption" + } + }, + "dhcpOptionsSetIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getDhcpOptionsFilter:getDhcpOptionsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "dhcpOptions", + "dhcpOptionsSetIds", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetFlexibleGpuFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getFlexibleGpu.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getFlexibleGpuFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getFlexibleGpu.\n", + "properties": { + "deleteOnVmDeletion": { + "type": "boolean", + "description": "If true, the fGPU is deleted when the VM is terminated.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getFlexibleGpuFilter:getFlexibleGpuFilter" + } + }, + "flexibleGpuId": { + "type": "string", + "description": "The ID of the fGPU.\n" + }, + "generation": { + "type": "string", + "description": "The compatible processor generation.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the fGPU (`allocated` \\| `attaching` \\| `attached` \\| `detaching`).\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", + "requestId", + "state", + "subregionName", + "vmId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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/outscale/pulumi-outscale/sdk/go/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, nil, 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();\n\n }\n}\n```\n```yaml\nvariables:\n flexibleGpuCatalog01:\n fn::invoke:\n Function: outscale:getFlexibleGpuCatalog\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getFlexibleGpuCatalog.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getFlexibleGpuCatalogFilter:getFlexibleGpuCatalogFilter" + }, + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getFlexibleGpuCatalog.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getFlexibleGpuCatalogFilter:getFlexibleGpuCatalogFilter" + } + }, + "flexibleGpuCatalogs": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getFlexibleGpuCatalogFlexibleGpuCatalog:getFlexibleGpuCatalogFlexibleGpuCatalog" + }, + "description": "Information about one or more fGPUs available in the public catalog.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "flexibleGpuCatalogs", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetFlexibleGpusFilterArgs(\n name=\"model_names\",\n values=[\n \"nvidia-p6\",\n \"nvidia-p100\",\n ],\n ),\n outscale.GetFlexibleGpusFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getFlexibleGpus.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getFlexibleGpusFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getFlexibleGpus.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getFlexibleGpusFilter:getFlexibleGpusFilter" + } + }, + "flexibleGpuses": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getFlexibleGpusFlexibleGpus:getFlexibleGpusFlexibleGpus" + }, + "description": "Information about one or more fGPUs.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "flexibleGpuses", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetImageFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getImage.\n", + "properties": { + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageBlockDeviceMapping:getImageBlockDeviceMapping" + }, + "description": "One or more block device mappings.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageFilter: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", + "willReplaceOnChanges": true + }, + "imageId": { + "type": "string", + "description": "The ID of the OMI.\n", + "willReplaceOnChanges": true + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getImage.\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": "The architecture of the OMI (by default, `i386`).\n" + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageBlockDeviceMapping:getImageBlockDeviceMapping" + }, + "description": "One or more block device mappings.\n" + }, + "creationDate": { + "type": "string", + "description": "The date and time of creation of the OMI.\n" + }, + "description": { + "type": "string", + "description": "The description of the OMI.\n" + }, + "fileLocation": { + "type": "string", + "description": "The location of the bucket where the OMI files are stored.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageFilter:getImageFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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" + }, + "isPublic": { + "type": "boolean" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + } + }, + "permissionsToLaunches": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImagePermissionsToLaunch:getImagePermissionsToLaunch" + }, + "description": "Information about the users who have permissions for the resource.\n" + }, + "productCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The product code associated with the OMI (`0001` Linux/Unix \\| `0002` Windows \\| `0004` Linux/Oracle \\| `0005` Windows 10).\n" + }, + "requestId": { + "type": "string" + }, + "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 `bsu`).\n" + }, + "state": { + "type": "string", + "description": "The state of the OMI (`pending` \\| `available` \\| `failed`).\n" + }, + "stateComments": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageStateComment:getImageStateComment" + }, + "description": "Information about the change of state.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageTag:getImageTag" + }, + "description": "One or more tags associated with the OMI.\n" + } + }, + "type": "object", + "required": [ + "accountAlias", + "accountId", + "architecture", + "blockDeviceMappings", + "creationDate", + "description", + "fileLocation", + "imageName", + "imageType", + "isPublic", + "permissionsToLaunches", + "productCodes", + "requestId", + "rootDeviceName", + "rootDeviceType", + "state", + "stateComments", + "tags", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetImageExportTaskFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getImageExportTask.\n", + "properties": { + "dryRun": { + "type": "boolean" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageExportTaskFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getImageExportTask.\n", + "properties": { + "comment": { + "type": "string", + "description": "If the OMI export task fails, an error message appears.\n" + }, + "dryRun": { + "type": "boolean" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageExportTaskFilter:getImageExportTaskFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "imageId": { + "type": "string", + "description": "The ID of the OMI to be exported.\n" + }, + "osuExports": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageExportTaskOsuExport:getImageExportTaskOsuExport" + }, + "description": "Information about the OMI export task.\n" + }, + "progress": { + "type": "integer", + "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` \\| `pending` \\| `completed` \\| `failed` \\| `cancelled`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageExportTaskTag:getImageExportTaskTag" + }, + "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", + "dryRun", + "imageId", + "osuExports", + "progress", + "requestId", + "state", + "tags", + "taskId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetImageExportTasksFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getImageExportTasks.\n", + "properties": { + "dryRun": { + "type": "boolean" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageExportTasksFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getImageExportTasks.\n", + "properties": { + "dryRun": { + "type": "boolean" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageExportTasksFilter:getImageExportTasksFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "imageExportTasks": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImageExportTasksImageExportTask:getImageExportTasksImageExportTask" + }, + "description": "Information about one or more image export tasks.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "dryRun", + "imageExportTasks", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetImagesFilterArgs(\n name=\"account_aliases\",\n values=[\"Outscale\"],\n ),\n outscale.GetImagesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getImages.\n", + "properties": { + "accountIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The account IDs of the owners of the OMIs. By default, all the OMIs for which you have launch permissions are described.\n", + "willReplaceOnChanges": true + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImagesFilter: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", + "willReplaceOnChanges": true + }, + "imageIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the OMIs.\n", + "willReplaceOnChanges": true + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getImages.\n", + "properties": { + "accountIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The account ID of one or more users who have permissions for the resource.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImagesFilter:getImagesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "imageIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "images": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getImagesImage:getImagesImage" + }, + "description": "Information about one or more OMIs.\n" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + } + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "images", + "requestId", + "id" + ] + } + }, + "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-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-internetservice).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetInternetServiceFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getInternetService.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getInternetServiceFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getInternetService.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getInternetServiceFilter:getInternetServiceFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "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 `available`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getInternetServiceTag:getInternetServiceTag" + }, + "description": "One or more tags associated with the Internet service.\n" + } + }, + "type": "object", + "required": [ + "internetServiceId", + "netId", + "requestId", + "state", + "tags", + "id" + ] + } + }, + "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-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-internetservice).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetInternetServicesFilterArgs(\n name=\"tag_keys\",\n values=[\"env\"],\n ),\n outscale.GetInternetServicesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getInternetServices.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getInternetServicesFilter: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", + "willReplaceOnChanges": true + }, + "internetServiceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the Internet services.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getInternetServices.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getInternetServicesFilter:getInternetServicesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "internetServiceIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "internetServices": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getInternetServicesInternetService:getInternetServicesInternetService" + }, + "description": "Information about one or more Internet services.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "internetServices", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetKeypairFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getKeypair.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getKeypairFilter: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", + "willReplaceOnChanges": true + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getKeypair.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getKeypairFilter:getKeypairFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "keypairFingerprint": { + "type": "string", + "description": "The MD5 public key fingerprint as specified in section 4 of RFC 4716.\n" + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "keypairFingerprint", + "keypairName", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetKeypairsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getKeypairs.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getKeypairsFilter: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", + "willReplaceOnChanges": true + }, + "keypairNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The names of the keypairs.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getKeypairs.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getKeypairsFilter:getKeypairsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "keypairNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "keypairs": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getKeypairsKeypair:getKeypairsKeypair" + }, + "description": "Information about one or more keypairs.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "keypairs", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetLoadBalancerFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getLoadBalancer.\n", + "properties": { + "accessLog": { + "$ref": "#/types/outscale:index/getLoadBalancerAccessLog:getLoadBalancerAccessLog", + "description": "Information about access logs.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n" + }, + "dnsName": { + "type": "string", + "description": "The DNS name of the load balancer.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerFilter: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", + "willReplaceOnChanges": true + }, + "healthCheck": { + "$ref": "#/types/outscale:index/getLoadBalancerHealthCheck:getLoadBalancerHealthCheck", + "description": "Information about the health check configuration.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerListener: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 `load_balancer_type` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf `load_balancer_type` is `internal`, 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", + "willReplaceOnChanges": true + }, + "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" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerTag:getLoadBalancerTag" + }, + "description": "One or more tags associated with the load balancer.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getLoadBalancer.\n", + "properties": { + "accessLog": { + "$ref": "#/types/outscale:index/getLoadBalancerAccessLog:getLoadBalancerAccessLog", + "description": "Information about access logs.\n" + }, + "applicationStickyCookiePolicies": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerApplicationStickyCookiePolicy:getLoadBalancerApplicationStickyCookiePolicy" + }, + "description": "The stickiness policies defined for the load balancer.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs for the load balancer.\n" + }, + "dnsName": { + "type": "string", + "description": "The DNS name of the load balancer.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerFilter:getLoadBalancerFilter" + } + }, + "healthCheck": { + "$ref": "#/types/outscale:index/getLoadBalancerHealthCheck:getLoadBalancerHealthCheck", + "description": "Information about the health check configuration.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerListener:getLoadBalancerListener" + }, + "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/getLoadBalancerLoadBalancerStickyCookiePolicy:getLoadBalancerLoadBalancerStickyCookiePolicy" + }, + "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 `load_balancer_type` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf `load_balancer_type` is `internal`, 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" + }, + "requestId": { + "type": "string" + }, + "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" + }, + "sourceSecurityGroup": { + "$ref": "#/types/outscale:index/getLoadBalancerSourceSecurityGroup:getLoadBalancerSourceSecurityGroup", + "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/getLoadBalancerTag:getLoadBalancerTag" + }, + "description": "One or more tags associated with the load balancer.\n" + } + }, + "type": "object", + "required": [ + "accessLog", + "applicationStickyCookiePolicies", + "backendVmIds", + "dnsName", + "healthCheck", + "listeners", + "loadBalancerName", + "loadBalancerStickyCookiePolicies", + "loadBalancerType", + "netId", + "publicIp", + "requestId", + "securedCookies", + "securityGroups", + "sourceSecurityGroup", + "subnets", + "subregionNames", + "tags", + "id" + ] + } + }, + "outscale:index/getLoadBalancerTags:getLoadBalancerTags": { + "inputs": { + "description": "A collection of arguments for invoking getLoadBalancerTags.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerTagsFilter:getLoadBalancerTagsFilter" + }, + "willReplaceOnChanges": true + }, + "loadBalancerNames": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getLoadBalancerTags.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerTagsFilter:getLoadBalancerTagsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "loadBalancerNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "requestId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerTagsTag:getLoadBalancerTagsTag" + } + } + }, + "type": "object", + "required": [ + "requestId", + "tags", + "id" + ] + } + }, + "outscale:index/getLoadBalancerVmHealth:getLoadBalancerVmHealth": { + "description": "Provides information about the health of one or more back-end 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as outscale from \"@pulumi/outscale\";\n\nconst loadBalancerVmHealth01 = outscale.getLoadBalancerVmHealth({\n backendVmIds: [\n \"i-12345678\",\n \"i-87654321\",\n ],\n loadBalancerName: \"load_balancer01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_outscale as outscale\n\nload_balancer_vm_health01 = outscale.get_load_balancer_vm_health(backend_vm_ids=[\n \"i-12345678\",\n \"i-87654321\",\n ],\n load_balancer_name=\"load_balancer01\")\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 BackendVmIds = new[]\n {\n \"i-12345678\",\n \"i-87654321\",\n },\n LoadBalancerName = \"load_balancer01\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/outscale/pulumi-outscale/sdk/go/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\tBackendVmIds: []string{\n\t\t\t\t\"i-12345678\",\n\t\t\t\t\"i-87654321\",\n\t\t\t},\n\t\t\tLoadBalancerName: \"load_balancer01\",\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 .backendVmIds( \n \"i-12345678\",\n \"i-87654321\")\n .loadBalancerName(\"load_balancer01\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n loadBalancerVmHealth01:\n fn::invoke:\n Function: outscale:getLoadBalancerVmHealth\n Arguments:\n backendVmIds:\n - i-12345678\n - i-87654321\n loadBalancerName: load_balancer01\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getLoadBalancerVmHealth.\n", + "properties": { + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of back-end VMs.\n", + "willReplaceOnChanges": true + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerVmHealthFilter:getLoadBalancerVmHealthFilter" + }, + "willReplaceOnChanges": true + }, + "loadBalancerName": { + "type": "string", + "description": "The name of the load balancer.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "loadBalancerName" + ] + }, + "outputs": { + "description": "A collection of values returned by getLoadBalancerVmHealth.\n", + "properties": { + "backendVmHealths": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerVmHealthBackendVmHealth:getLoadBalancerVmHealthBackendVmHealth" + }, + "description": "Information about the health of one or more back-end VMs.\n" + }, + "backendVmIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancerVmHealthFilter:getLoadBalancerVmHealthFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "loadBalancerName": { + "type": "string" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "backendVmHealths", + "loadBalancerName", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetLoadBalancersFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getLoadBalancers.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancersFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancersFilter:getLoadBalancersFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "loadBalancerNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The name of the load balancer.\n" + }, + "loadBalancers": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getLoadBalancersLoadBalancer:getLoadBalancersLoadBalancer" + } + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "loadBalancers", + "requestId", + "id" + ] + } + }, + "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-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-natservice).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetNatServiceFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNatService.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNatServiceFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNatServiceFilter:getNatServiceFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "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/getNatServicePublicIp:getNatServicePublicIp" + }, + "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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\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/getNatServiceTag:getNatServiceTag" + }, + "description": "One or more tags associated with the NAT service.\n" + } + }, + "type": "object", + "required": [ + "netId", + "publicIps", + "requestId", + "state", + "subnetId", + "tags", + "id" + ] + } + }, + "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-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-natservice).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetNatServicesFilterArgs(\n name=\"net_ids\",\n values=[\n \"vpc-12345678\",\n \"vpc-87654321\",\n ],\n ),\n outscale.GetNatServicesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNatServices.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNatServicesFilter: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", + "willReplaceOnChanges": true + }, + "natServiceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the NAT services.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNatServices.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNatServicesFilter:getNatServicesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "natServiceIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "natServices": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNatServicesNatService:getNatServicesNatService" + }, + "description": "Information about one or more NAT services.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "natServices", + "requestId", + "id" + ] + } + }, + "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-VPCs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-net).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetNetFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNet.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetFilter: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", + "willReplaceOnChanges": true + }, + "netId": { + "type": "string", + "description": "The ID of the Net.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNet.\n", + "properties": { + "dhcpOptionsSetId": { + "type": "string", + "description": "The ID of the DHCP options set (or `default` if you want to associate the default one).\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetFilter:getNetFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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 (`pending` \\| `available` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetTag:getNetTag" + }, + "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", + "requestId", + "state", + "tags", + "tenancy", + "id" + ] + } + }, + "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-VPC-Endpoints.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netaccesspoint).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### List a Net access point\n\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=[outscale.GetNetAccessPointFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### List a Net access point according to its Net and state\n\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 outscale.GetNetAccessPointFilterArgs(\n name=\"net_ids\",\n values=[\"vpc-12345678\"],\n ),\n outscale.GetNetAccessPointFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNetAccessPoint.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNetAccessPoint.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointFilter:getNetAccessPointFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "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" + }, + "requestId": { + "type": "string" + }, + "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 (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointTag:getNetAccessPointTag" + }, + "description": "One or more tags associated with the Net access point.\n" + } + }, + "type": "object", + "required": [ + "netAccessPointId", + "netId", + "requestId", + "routeTableIds", + "serviceName", + "state", + "tags", + "id" + ] + } + }, + "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-VPC-Endpoints.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netaccesspoint).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### List all services available to create Net access points\n\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/outscale/pulumi-outscale/sdk/go/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, nil, 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();\n\n }\n}\n```\n```yaml\nvariables:\n all-services:\n fn::invoke:\n Function: outscale:getNetAccessPointServices\n Arguments: {}\n```\n{{% /example %}}\n{{% example %}}\n### List one or more services according to their service IDs\n\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=[outscale.GetNetAccessPointServicesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### List one or more services according to their service names\n\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=[outscale.GetNetAccessPointServicesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNetAccessPointServices.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointServicesFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNetAccessPointServices.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointServicesFilter:getNetAccessPointServicesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointServicesService:getNetAccessPointServicesService" + }, + "description": "The names of the services you can use for Net access points.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "services", + "id" + ] + } + }, + "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-VPC-Endpoints.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netaccesspoint).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### List Net access points\n\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=[outscale.GetNetAccessPointsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### List Net access points according to their Net and state\n\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 outscale.GetNetAccessPointsFilterArgs(\n name=\"net_ids\",\n values=[\"vpc-12345678\"],\n ),\n outscale.GetNetAccessPointsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNetAccessPoints.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointsFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNetAccessPoints.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointsFilter:getNetAccessPointsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "netAccessPoints": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAccessPointsNetAccessPoint:getNetAccessPointsNetAccessPoint" + }, + "description": "One or more Net access points.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "netAccessPoints", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNetAttributes.\n", + "properties": { + "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": { + "type": "string", + "description": "The ID of the DHCP options set (or `default` if you want to associate the default one).\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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 (`pending` \\| `available` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetAttributesTag:getNetAttributesTag" + }, + "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", + "requestId", + "state", + "tags", + "tenancy", + "id" + ] + } + }, + "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-VPC-Peering-Connections.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netpeering).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetNetPeeringFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNetPeering.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetPeeringFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNetPeering.\n", + "properties": { + "accepterNet": { + "$ref": "#/types/outscale:index/getNetPeeringAccepterNet:getNetPeeringAccepterNet", + "description": "Information about the accepter Net.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetPeeringFilter:getNetPeeringFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "netPeeringId": { + "type": "string", + "description": "The ID of the Net peering.\n" + }, + "requestId": { + "type": "string" + }, + "sourceNet": { + "$ref": "#/types/outscale:index/getNetPeeringSourceNet:getNetPeeringSourceNet", + "description": "Information about the source Net.\n" + }, + "state": { + "$ref": "#/types/outscale:index/getNetPeeringState:getNetPeeringState", + "description": "Information about the state of the Net peering.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetPeeringTag:getNetPeeringTag" + }, + "description": "One or more tags associated with the Net peering.\n" + } + }, + "type": "object", + "required": [ + "accepterNet", + "netPeeringId", + "requestId", + "sourceNet", + "state", + "tags", + "id" + ] + } + }, + "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-VPC-Peering-Connections.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-netpeering).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetNetPeeringsFilterArgs(\n name=\"source_net_net_ids\",\n values=[\"vpc-12345678\"],\n ),\n outscale.GetNetPeeringsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNetPeerings.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetPeeringsFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNetPeerings.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetPeeringsFilter:getNetPeeringsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "netPeerings": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetPeeringsNetPeering:getNetPeeringsNetPeering" + }, + "description": "Information about one or more Net peerings.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "netPeerings", + "requestId", + "id" + ] + } + }, + "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-VPCs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-net).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetNetsFilterArgs(\n name=\"net_ids\",\n values=[\n \"vpc-12345678\",\n \"vpc-87654321\",\n ],\n ),\n outscale.GetNetsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNets.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetsFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetsFilter:getNetsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "netIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the Net.\n" + }, + "nets": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNetsNet:getNetsNet" + }, + "description": "Information about the described Nets.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "nets", + "requestId", + "id" + ] + } + }, + "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-FNIs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetNicFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNic.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNicFilter: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", + "willReplaceOnChanges": true + }, + "nicId": { + "type": "string", + "description": "The ID of the NIC.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNic.\n", + "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" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNicFilter:getNicFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "isSourceDestChecked": { + "type": "boolean", + "description": "(Net only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "linkNic": { + "$ref": "#/types/outscale:index/getNicLinkNic:getNicLinkNic", + "description": "Information about the NIC attachment.\n" + }, + "linkPublicIp": { + "$ref": "#/types/outscale:index/getNicLinkPublicIp:getNicLinkPublicIp", + "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" + }, + "privateIp": { + "type": "string", + "description": "The private IP of the NIC.\n" + }, + "privateIps": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNicPrivateIp:getNicPrivateIp" + }, + "description": "The private IPs of the NIC.\n" + }, + "requestId": { + "type": "string" + }, + "requesterManaged": { + "type": "boolean" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the security group.\n" + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNicSecurityGroup:getNicSecurityGroup" + }, + "description": "One or more IDs of security groups for the NIC.\n" + }, + "state": { + "type": "string", + "description": "The state of the NIC (`available` \\| `attaching` \\| `in-use` \\| `detaching`).\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/getNicTag:getNicTag" + }, + "description": "One or more tags associated with the NIC.\n" + } + }, + "type": "object", + "required": [ + "accountId", + "description", + "isSourceDestChecked", + "linkNic", + "linkPublicIp", + "macAddress", + "netId", + "nicId", + "privateDnsName", + "privateIp", + "privateIps", + "requestId", + "requesterManaged", + "securityGroupIds", + "securityGroups", + "state", + "subnetId", + "subregionName", + "tags", + "id" + ] + } + }, + "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-FNIs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-nic).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetNicsFilterArgs(\n name=\"nic_ids\",\n values=[\n \"eni-12345678\",\n \"eni-87654321\",\n ],\n ),\n outscale.GetNicsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNics.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNicsFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNics.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNicsFilter:getNicsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "nics": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getNicsNic:getNicsNic" + }, + "description": "Information about one or more NICs.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "nics", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetProductTypeFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getProductType.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getProductTypeFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getProductType.\n", + "properties": { + "description": { + "type": "string", + "description": "The description of the product type.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getProductTypeFilter:getProductTypeFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "productTypeId": { + "type": "string", + "description": "The ID of the product type.\n" + }, + "requestId": { + "type": "string" + }, + "vendor": { + "type": "string", + "description": "The vendor of the product type.\n" + } + }, + "type": "object", + "required": [ + "description", + "productTypeId", + "requestId", + "vendor", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Read specific product types\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=[outscale.GetProductTypesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Read all product types\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/outscale/pulumi-outscale/sdk/go/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, nil, 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();\n\n }\n}\n```\n```yaml\nvariables:\n allProductTypes:\n fn::invoke:\n Function: outscale:getProductTypes\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getProductTypes.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getProductTypesFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getProductTypes.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getProductTypesFilter:getProductTypesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "productTypes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getProductTypesProductType:getProductTypesProductType" + }, + "description": "Information about one or more product types.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "productTypes", + "requestId", + "id" + ] + } + }, + "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-EIPs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-publicip).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetPublicIpFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getPublicIp.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getPublicIpFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getPublicIpFilter:getPublicIpFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "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" + }, + "requestId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getPublicIpTag:getPublicIpTag" + }, + "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", + "requestId", + "tags", + "vmId", + "id" + ] + } + }, + "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-EIPs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-publicip).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetPublicIpsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getPublicIps.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getPublicIpsFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getPublicIps.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getPublicIpsFilter:getPublicIpsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "publicIps": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getPublicIpsPublicIp:getPublicIpsPublicIp" + }, + "description": "Information about one or more public IPs.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "publicIps", + "requestId", + "id" + ] + } + }, + "outscale:index/getPulicCatalog:getPulicCatalog": { + "outputs": { + "description": "A collection of values returned by getPulicCatalog.\n", + "properties": { + "catalogs": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getPulicCatalogCatalog:getPulicCatalogCatalog" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "catalogs", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetQuotaFilterArgs(\n name=\"collections\",\n values=[\"LBU\"],\n ),\n outscale.GetQuotaFilterArgs(\n name=\"quota_names\",\n values=[\"lb_listeners_limit\"],\n ),\n outscale.GetQuotaFilterArgs(\n name=\"quota_types\",\n values=[\"global\"],\n ),\n outscale.GetQuotaFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getQuota.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getQuotaFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getQuota.\n", + "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" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getQuotaFilter:getQuotaFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "maxValue": { + "type": "integer", + "description": "The maximum value of the quota for the OUTSCALE user account (if there is no limit, `0`).\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 resource ID if it is a resource-specific quota, `global` if it is not.\n" + }, + "requestId": { + "type": "string" + }, + "shortDescription": { + "type": "string", + "description": "The description of the quota.\n" + }, + "usedValue": { + "type": "integer", + "description": "The limit value currently used by the OUTSCALE user account.\n" + } + }, + "type": "object", + "required": [ + "accountId", + "description", + "maxValue", + "name", + "quotaCollection", + "quotaType", + "requestId", + "shortDescription", + "usedValue", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Read specific quotas\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=[outscale.GetQuotasFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Read all quotas\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/outscale/pulumi-outscale/sdk/go/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, nil, 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();\n\n }\n}\n```\n```yaml\nvariables:\n allQuotas:\n fn::invoke:\n Function: outscale:getQuotas\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getQuotas.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getQuotasFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getQuotas.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getQuotasFilter:getQuotasFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "quotas": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getQuotasQuota:getQuotasQuota" + }, + "description": "One or more quotas associated with the user.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "quotas", + "requestId", + "id" + ] + } + }, + "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-Endpoints-and-Availability-Zones.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readregions).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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/outscale/pulumi-outscale/sdk/go/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, nil, 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 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();\n\n }\n}\n```\n```yaml\nvariables:\n allRegions:\n fn::invoke:\n Function: outscale:getRegions\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "outputs": { + "description": "A collection of values returned by getRegions.\n", + "properties": { + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRegionsRegion:getRegionsRegion" + }, + "description": "Information about one or more Regions.\n" + }, + "requestId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "regions", + "requestId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetRouteTableFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getRouteTable.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRouteTableFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRouteTableFilter:getRouteTableFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "linkRouteTables": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRouteTableLinkRouteTable:getRouteTableLinkRouteTable" + }, + "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" + }, + "requestId": { + "type": "string" + }, + "routePropagatingVirtualGateways": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRouteTableRoutePropagatingVirtualGateway:getRouteTableRoutePropagatingVirtualGateway" + }, + "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/getRouteTableRoute:getRouteTableRoute" + }, + "description": "One or more routes in the route table.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRouteTableTag:getRouteTableTag" + }, + "description": "One or more tags associated with the route table.\n" + } + }, + "type": "object", + "required": [ + "linkRouteTables", + "netId", + "requestId", + "routePropagatingVirtualGateways", + "routeTableId", + "routes", + "tags", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetRouteTablesFilterArgs(\n name=\"net_ids\",\n values=[\n \"vpc-12345678\",\n \"vpc-87654321\",\n ],\n ),\n outscale.GetRouteTablesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getRouteTables.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRouteTablesFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRouteTablesFilter:getRouteTablesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "routeTableIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the route table.\n" + }, + "routeTables": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getRouteTablesRouteTable:getRouteTablesRouteTable" + }, + "description": "Information about one or more route tables.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "routeTables", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetSecurityGroupFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getSecurityGroup.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSecurityGroupFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "string", + "description": "The account ID of a user.\n" + }, + "description": { + "type": "string", + "description": "The description of the security group.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSecurityGroupFilter:getSecurityGroupFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "inboundRules": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSecurityGroupInboundRule:getSecurityGroupInboundRule" + }, + "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/getSecurityGroupOutboundRule:getSecurityGroupOutboundRule" + }, + "description": "The outbound rules associated with the security group.\n" + }, + "requestId": { + "type": "string" + }, + "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/getSecurityGroupTag:getSecurityGroupTag" + }, + "description": "One or more tags associated with the security group.\n" + } + }, + "type": "object", + "required": [ + "accountId", + "description", + "inboundRules", + "netId", + "outboundRules", + "requestId", + "securityGroupId", + "securityGroupName", + "tags", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetSecurityGroupsFilterArgs(\n name=\"net_ids\",\n values=[\n \"sg-12345678\",\n \"sg-87654321\",\n ],\n ),\n outscale.GetSecurityGroupsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getSecurityGroups.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSecurityGroupsFilter: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", + "willReplaceOnChanges": true + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups.\n" + }, + "securityGroupNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The names of the security groups.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getSecurityGroups.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSecurityGroupsFilter:getSecurityGroupsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroupNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSecurityGroupsSecurityGroup:getSecurityGroupsSecurityGroup" + }, + "description": "Information about one or more security groups.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "securityGroups", + "id" + ] + } + }, + "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", + "inputs": { + "description": "A collection of arguments for invoking getServerCertificate.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getServerCertificateFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getServerCertificate.\n", + "properties": { + "expirationDate": { + "type": "string", + "description": "The date at which the server certificate expires.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getServerCertificateFilter:getServerCertificateFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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" + }, + "requestId": { + "type": "string" + }, + "uploadDate": { + "type": "string", + "description": "The date at which the server certificate has been uploaded.\n" + } + }, + "type": "object", + "required": [ + "expirationDate", + "name", + "orn", + "path", + "requestId", + "uploadDate", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Read specific server certificates\n\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=[outscale.GetServerCertificatesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Read all server certificates\n\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/outscale/pulumi-outscale/sdk/go/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, nil, 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();\n\n }\n}\n```\n```yaml\nvariables:\n allServerCertificates:\n fn::invoke:\n Function: outscale:getServerCertificates\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getServerCertificates.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getServerCertificatesFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getServerCertificates.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getServerCertificatesFilter:getServerCertificatesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "serverCertificates": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getServerCertificatesServerCertificate:getServerCertificatesServerCertificate" + }, + "description": "Information about one or more server certificates.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "serverCertificates", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetSnapshotFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "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/getSnapshotFilter: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", + "willReplaceOnChanges": true + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getSnapshot.\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 of creation of the snapshot.\n" + }, + "description": { + "type": "string", + "description": "The description of the snapshot.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotFilter:getSnapshotFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "permissionsToCreateVolumes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotPermissionsToCreateVolume:getSnapshotPermissionsToCreateVolume" + }, + "description": "Information about the users who have permissions for the resource.\n" + }, + "progress": { + "type": "integer", + "description": "The progress of the snapshot, as a percentage.\n" + }, + "requestId": { + "type": "string" + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot.\n" + }, + "state": { + "type": "string", + "description": "The state of the snapshot (`in-queue` \\| `completed` \\| `error`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotTag:getSnapshotTag" + }, + "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": "integer", + "description": "The size of the volume used to create the snapshot, in gibibytes (GiB).\n" + } + }, + "type": "object", + "required": [ + "accountAlias", + "accountId", + "creationDate", + "description", + "permissionsToCreateVolumes", + "progress", + "requestId", + "snapshotId", + "state", + "tags", + "volumeId", + "volumeSize", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetSnapshotExportTaskFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getSnapshotExportTask.\n", + "properties": { + "dryRun": { + "type": "boolean" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotExportTaskFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getSnapshotExportTask.\n", + "properties": { + "comment": { + "type": "string", + "description": "If the snapshot export task fails, an error message appears.\n" + }, + "dryRun": { + "type": "boolean" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotExportTaskFilter:getSnapshotExportTaskFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "osuExports": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotExportTaskOsuExport:getSnapshotExportTaskOsuExport" + }, + "description": "Information about the snapshot export task.\n" + }, + "progress": { + "type": "integer", + "description": "The progress of the snapshot export task, as a percentage.\n" + }, + "requestId": { + "type": "string" + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot to be exported.\n" + }, + "state": { + "type": "string", + "description": "The state of the snapshot export task (`pending` \\| `active` \\| `completed` \\| `failed`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotExportTaskTag:getSnapshotExportTaskTag" + }, + "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", + "dryRun", + "osuExports", + "progress", + "requestId", + "snapshotId", + "state", + "tags", + "taskId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetSnapshotExportTasksFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getSnapshotExportTasks.\n", + "properties": { + "dryRun": { + "type": "boolean" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotExportTasksFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getSnapshotExportTasks.\n", + "properties": { + "dryRun": { + "type": "boolean" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotExportTasksFilter:getSnapshotExportTasksFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "snapshotExportTasks": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotExportTasksSnapshotExportTask:getSnapshotExportTasksSnapshotExportTask" + }, + "description": "Information about one or more snapshot export tasks.\n" + } + }, + "type": "object", + "required": [ + "dryRun", + "requestId", + "snapshotExportTasks", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetSnapshotsFilterArgs(\n name=\"tag_keys\",\n values=[\"env\"],\n ),\n outscale.GetSnapshotsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "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/getSnapshotsFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The account ID of the owner of the snapshot.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotsFilter:getSnapshotsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "permissionToCreateVolumes": { + "type": "array", + "items": { + "type": "string" + } + }, + "requestId": { + "type": "string" + }, + "snapshotIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the snapshot.\n" + }, + "snapshots": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSnapshotsSnapshot:getSnapshotsSnapshot" + }, + "description": "Information about one or more snapshots and their permissions.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "snapshots", + "id" + ] + } + }, + "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-VPCs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-subnet).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetSubnetFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getSubnet.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSubnetFilter: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", + "willReplaceOnChanges": true + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getSubnet.\n", + "properties": { + "availableIpsCount": { + "type": "integer", + "description": "The number of available IPs in the Subnets.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSubnetFilter:getSubnetFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the Subnet (`pending` \\| `available` \\| `deleted`).\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/getSubnetTag:getSubnetTag" + }, + "description": "One or more tags associated with the Subnet.\n" + } + }, + "type": "object", + "required": [ + "availableIpsCount", + "ipRange", + "mapPublicIpOnLaunch", + "netId", + "requestId", + "state", + "subnetId", + "subregionName", + "tags", + "id" + ] + } + }, + "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-VPCs.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-subnet).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetSubnetsFilterArgs(\n name=\"states\",\n values=[\"available\"],\n ),\n outscale.GetSubnetsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getSubnets.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSubnetsFilter: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", + "willReplaceOnChanges": true + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the Subnets.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getSubnets.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSubnetsFilter:getSubnetsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "subnets": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSubnetsSubnet:getSubnetsSubnet" + }, + "description": "Information about one or more Subnets.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "subnets", + "id" + ] + } + }, + "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-Endpoints-and-Availability-Zones.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readsubregions).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### List a specific Subregion in the current Region\n\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=[outscale.GetSubregionsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### List two specific Subregions in the current Region\n\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=[outscale.GetSubregionsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### List all accessible Subregions in the current Region\n\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/outscale/pulumi-outscale/sdk/go/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, nil, 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();\n\n }\n}\n```\n```yaml\nvariables:\n all-subregions:\n fn::invoke:\n Function: outscale:getSubregions\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getSubregions.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSubregionsFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getSubregions.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSubregionsFilter:getSubregionsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "subregions": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getSubregionsSubregion:getSubregionsSubregion" + }, + "description": "Information about one or more Subregions.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "subregions", + "id" + ] + } + }, + "outscale:index/getTag:getTag": { + "inputs": { + "description": "A collection of arguments for invoking getTag.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getTagFilter:getTagFilter" + }, + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getTag.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getTagFilter:getTagFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "key": { + "type": "string" + }, + "resourceId": { + "type": "string" + }, + "resourceType": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "resourceId", + "resourceType", + "value", + "id" + ] + } + }, + "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-Private-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-virtualgateway).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetVirtualGatewayFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "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 (only `ipsec.1` is supported).\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVirtualGatewayFilter: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", + "willReplaceOnChanges": true + }, + "state": { + "type": "string", + "description": "The state of the virtual gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).\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": { + "type": "string", + "description": "The type of VPN connection supported by the virtual gateway (only `ipsec.1` is supported).\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVirtualGatewayFilter:getVirtualGatewayFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "netToVirtualGatewayLinks": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVirtualGatewayNetToVirtualGatewayLink:getVirtualGatewayNetToVirtualGatewayLink" + }, + "description": "The Net to which the virtual gateway is attached.\n" + }, + "requestId": { + "type": "string" + }, + "state": { + "type": "string", + "description": "The state of the virtual gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVirtualGatewayTag:getVirtualGatewayTag" + }, + "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", + "requestId", + "state", + "tags", + "virtualGatewayId", + "id" + ] + } + }, + "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-Private-Gateways.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-virtualgateway).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetVirtualGatewaysFilterArgs(\n name=\"states\",\n values=[\"available\"],\n ),\n outscale.GetVirtualGatewaysFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVirtualGateways.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVirtualGatewaysFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVirtualGatewaysFilter:getVirtualGatewaysFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "virtualGatewayIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the virtual gateway.\n" + }, + "virtualGateways": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVirtualGatewaysVirtualGateway:getVirtualGatewaysVirtualGateway" + }, + "description": "Information about one or more virtual gateways.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "virtualGatewayIds", + "virtualGateways", + "id" + ] + } + }, + "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-Instances.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-vm).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetVmFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVm.\n", + "properties": { + "blockDeviceMappingsCreateds": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmBlockDeviceMappingsCreated:getVmBlockDeviceMappingsCreated" + }, + "description": "The block device mapping of the VM.\n" + }, + "bsuOptimized": { + "type": "boolean" + }, + "deletionProtection": { + "type": "boolean", + "description": "If true, you cannot delete the VM unless you change this parameter back to false.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmFilter: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", + "willReplaceOnChanges": true + }, + "imageId": { + "type": "string", + "description": "The ID of the OMI used to create the VM.\n", + "willReplaceOnChanges": true + }, + "isSourceDestChecked": { + "type": "boolean", + "description": "(Net only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair used when launching the VM.\n" + }, + "nics": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmNic:getVmNic" + }, + "description": "(Net only) The network interface cards (NICs) the VMs are attached to.\n" + }, + "placementSubregionName": { + "type": "string" + }, + "placementTenancy": { + "type": "string" + }, + "privateIps": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private IP or IPs of the NIC.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroupNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "subnetId": { + "type": "string", + "description": "The ID of the Subnet for the VM.\n", + "willReplaceOnChanges": true + }, + "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 `stop`, the VM stops. If set to `restart`, the VM stops then automatically restarts. If set to `terminate`, the VM stops and is deleted.\n" + }, + "vmType": { + "type": "string", + "description": "The type of VM. For more information, see [Instance Types](https://docs.outscale.com/en/userguide/Instance-Types.html).\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getVm.\n", + "properties": { + "architecture": { + "type": "string", + "description": "The architecture of the VM (`i386` \\| `x86_64`).\n" + }, + "blockDeviceMappingsCreateds": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmBlockDeviceMappingsCreated:getVmBlockDeviceMappingsCreated" + }, + "description": "The block device mapping of the VM.\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 of creation of the VM.\n" + }, + "deletionProtection": { + "type": "boolean", + "description": "If true, you cannot delete the VM unless you change this parameter back to false.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmFilter:getVmFilter" + } + }, + "hypervisor": { + "type": "string", + "description": "The hypervisor type of the VMs (`ovm` \\| `xen`).\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\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. This value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n" + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair used when launching the VM.\n" + }, + "launchNumber": { + "type": "integer", + "description": "The number for the VM when launching a group of several VMs (for example, `0`, `1`, `2`, 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/getVmNic:getVmNic" + }, + "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 (`medium` \\| `high` \\| `highest`).\n" + }, + "placementSubregionName": { + "type": "string" + }, + "placementTenancy": { + "type": "string" + }, + "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 code associated with the OMI used to create the VM (`0001` Linux/Unix \\| `0002` Windows \\| `0004` Linux/Oracle \\| `0005` Windows 10).\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/vda1`).\n" + }, + "rootDeviceType": { + "type": "string", + "description": "The type of root device used by the VM (always `bsu`).\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroupNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmSecurityGroup:getVmSecurityGroup" + }, + "description": "One or more security groups associated with the VM.\n" + }, + "state": { + "type": "string", + "description": "The state of the VM (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\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/getVmTag:getVmTag" + }, + "description": "One or more tags associated with 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 `stop`, the VM stops. If set to `restart`, the VM stops then automatically restarts. If set to `terminate`, the VM stops and is deleted.\n" + }, + "vmType": { + "type": "string", + "description": "The type of VM. For more information, see [Instance Types](https://docs.outscale.com/en/userguide/Instance-Types.html).\n" + } + }, + "type": "object", + "required": [ + "architecture", + "blockDeviceMappingsCreateds", + "bsuOptimized", + "clientToken", + "creationDate", + "deletionProtection", + "hypervisor", + "imageId", + "isSourceDestChecked", + "keypairName", + "launchNumber", + "nestedVirtualization", + "netId", + "nics", + "osFamily", + "performance", + "placementSubregionName", + "placementTenancy", + "privateDnsName", + "privateIp", + "productCodes", + "publicDnsName", + "publicIp", + "requestId", + "reservationId", + "rootDeviceName", + "rootDeviceType", + "securityGroups", + "state", + "stateReason", + "subnetId", + "tags", + "userData", + "vmId", + "vmInitiatedShutdownBehavior", + "vmType", + "id" + ] + } + }, + "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-Instance-Lifecycle.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readvmsstate).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetVmStateFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "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/getVmStateFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmStateFilter:getVmStateFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "maintenanceEvents": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmStateMaintenanceEvent:getVmStateMaintenanceEvent" + }, + "description": "One or more scheduled events associated with the VM.\n" + }, + "requestId": { + "type": "string" + }, + "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 (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\n" + } + }, + "type": "object", + "required": [ + "maintenanceEvents", + "requestId", + "subregionName", + "vmState", + "id" + ] + } + }, + "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-Instance-Lifecycle.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readvmsstate).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetVmStatesFilterArgs(\n name=\"vm_ids\",\n values=[\n \"i-12345678\",\n \"i-87654321\",\n ],\n ),\n outscale.GetVmStatesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "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/getVmStatesFilter: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", + "willReplaceOnChanges": true + }, + "vmIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more IDs of VMs.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getVmStates.\n", + "properties": { + "allVms": { + "type": "boolean" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmStatesFilter:getVmStatesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "vmIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "vmStates": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmStatesVmState:getVmStatesVmState" + }, + "description": "Information about one or more VM states.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "vmStates", + "id" + ] + } + }, + "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/Instance-Types.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#readvmtypes).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### All types of VMs\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/outscale/pulumi-outscale/sdk/go/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, nil, 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();\n\n }\n}\n```\n```yaml\nvariables:\n allVmTypes:\n fn::invoke:\n Function: outscale:getVmTypes\n Arguments: {}\n```\n{{% /example %}}\n{{% example %}}\n### VMs optimized for Block Storage Unit (BSU)\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=[outscale.GetVmTypesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% example %}}\n### Specific VM type\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=[outscale.GetVmTypesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVmTypes.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmTypesFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getVmTypes.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmTypesFilter:getVmTypesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "vmTypes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmTypesVmType:getVmTypesVmType" + }, + "description": "Information about one or more VM types.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "vmTypes", + "id" + ] + } + }, + "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-Instances.html). \nFor more information on this resource actions, see the [API documentation](https://docs.outscale.com/api#3ds-outscale-api-vm).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetVmsFilterArgs(\n name=\"tag_keys\",\n values=[\"env\"],\n ),\n outscale.GetVmsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVms.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmsFilter: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", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getVms.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmsFilter:getVmsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "vms": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVmsVm:getVmsVm" + }, + "description": "Information about one or more VMs.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "vms", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetVolumeFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVolume.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVolumeFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "string", + "description": "The date and time of creation of the volume.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVolumeFilter:getVolumeFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS):\u003cbr /\u003e- For `io1` volumes, the number of provisioned IOPS.\u003cbr /\u003e- For `gp2` volumes, the baseline performance of the volume.\n" + }, + "linkedVolumes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVolumeLinkedVolume:getVolumeLinkedVolume" + }, + "description": "Information about your volume attachment.\n" + }, + "requestId": { + "type": "string" + }, + "size": { + "type": "integer", + "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 (`creating` \\| `available` \\| `in-use` \\| `updating` \\| `deleting` \\| `error`).\n" + }, + "subregionName": { + "type": "string", + "description": "The Subregion in which the volume was created.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVolumeTag:getVolumeTag" + }, + "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 (`standard` \\| `gp2` \\| `io1`).\n" + } + }, + "type": "object", + "required": [ + "creationDate", + "iops", + "linkedVolumes", + "size", + "snapshotId", + "state", + "subregionName", + "tags", + "volumeType", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetVolumesFilterArgs(\n name=\"volume_states\",\n values=[\"in-use\"],\n ),\n outscale.GetVolumesFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVolumes.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVolumesFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVolumesFilter:getVolumesFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "volumeId": { + "type": "string", + "description": "The ID of the volume.\n" + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVolumesVolume:getVolumesVolume" + }, + "description": "Information about one or more volumes.\n" + } + }, + "type": "object", + "required": [ + "volumes", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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=[outscale.GetVpnConnectionFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVpnConnection.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVpnConnectionFilter: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", + "willReplaceOnChanges": true + }, + "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": { + "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" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVpnConnectionFilter:getVpnConnectionFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVpnConnectionRoute:getVpnConnectionRoute" + }, + "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/getVpnConnectionTag:getVpnConnectionTag" + }, + "description": "One or more tags associated with the VPN connection.\n" + }, + "vgwTelemetries": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVpnConnectionVgwTelemetry:getVpnConnectionVgwTelemetry" + }, + "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", + "requestId", + "routes", + "state", + "tags", + "vgwTelemetries", + "virtualGatewayId", + "id" + ] + } + }, + "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 outscale.GetVpnConnectionsFilterArgs(\n name=\"client_gateway_ids\",\n values=[\"cgw-12345678\"],\n ),\n outscale.GetVpnConnectionsFilterArgs(\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/outscale/pulumi-outscale/sdk/go/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{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVpnConnections.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVpnConnectionsFilter: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", + "willReplaceOnChanges": true + }, + "vpnConnectionIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the VPN connections.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getVpnConnections.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVpnConnectionsFilter:getVpnConnectionsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "requestId": { + "type": "string" + }, + "vpnConnectionIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "vpnConnections": { + "type": "array", + "items": { + "$ref": "#/types/outscale:index/getVpnConnectionsVpnConnection:getVpnConnectionsVpnConnection" + }, + "description": "Information about one or more VPN connections.\n" + } + }, + "type": "object", + "required": [ + "requestId", + "vpnConnections", + "id" + ] + } + } + } +} \ No newline at end of file