title: Cannot use "LATEST" (type string) as type *string in field value
body: <p>I'm trying to run a ECS task using the new aws-sdk-go (v2). And I'm having some trouble to initialize the <code>&amp;ecs.RunTaskInput{}</code> struct.</p>
  
  <p>According to the file, this is the struct definition:</p>
  
  <pre><code>type RunTaskInput struct {
      _ struct{} `type:"structure"`
  
      // The short name or full Amazon Resource Name (ARN) of the cluster on which
      // to run your task. If you do not specify a cluster, the default cluster is
      // assumed.
      Cluster *string `locationName:"cluster" type:"string"`
  
      // The number of instantiations of the specified task to place on your cluster.
      // You can specify up to 10 tasks per call.
      Count *int64 `locationName:"count" type:"integer"`
  
      // The name of the task group to associate with the task. The default value
      // is the family name of the task definition (for example, family:my-family-name).
      Group *string `locationName:"group" type:"string"`
  
      // The launch type on which to run your task.
      LaunchType LaunchType `locationName:"launchType" type:"string" enum:"true"`
  
      // The network configuration for the task. This parameter is required for task
      // definitions that use the awsvpc network mode to receive their own Elastic
      // Network Interface, and it is not supported for other network modes. For more
      // information, see Task Networking (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
      // in the Amazon Elastic Container Service Developer Guide.
      NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`
  
      // A list of container overrides in JSON format that specify the name of a container
      // in the specified task definition and the overrides it should receive. You
      // can override the default command for a container (that is specified in the
      // task definition or Docker image) with a command override. You can also override
      // existing environment variables (that are specified in the task definition
      // or Docker image) on a container or add new environment variables to it with
      // an environment override.
      //
      // A total of 8192 characters are allowed for overrides. This limit includes
      // the JSON formatting characters of the override structure.
      Overrides *TaskOverride `locationName:"overrides" type:"structure"`
  
      // An array of placement constraint objects to use for the task. You can specify
      // up to 10 constraints per task (including constraints in the task definition
      // and those specified at run time).
      PlacementConstraints []PlacementConstraint `locationName:"placementConstraints" type:"list"`
  
      // The placement strategy objects to use for the task. You can specify a maximum
      // of five strategy rules per task.
      PlacementStrategy []PlacementStrategy `locationName:"placementStrategy" type:"list"`
  
      // The platform version on which to run your task. If one is not specified,
      // the latest version is used by default.
      PlatformVersion *string `locationName:"platformVersion" type:"string"`
  
      // An optional tag specified when a task is started. For example if you automatically
      // trigger a task to run a batch process job, you could apply a unique identifier
      // for that job to your task with the startedBy parameter. You can then identify
      // which tasks belong to that job by filtering the results of a ListTasks call
      // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers,
      // hyphens, and underscores are allowed.
      //
      // If a task is started by an Amazon ECS service, then the startedBy parameter
      // contains the deployment ID of the service that starts it.
      StartedBy *string `locationName:"startedBy" type:"string"`
  
      // The family and revision (family:revision) or full ARN of the task definition
      // to run. If a revision is not specified, the latest ACTIVE revision is used.
      //
      // TaskDefinition is a required field
      TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"`
  }
  </code></pre>
  
  <p>I'm hanging on the value of <code>PlatformVersion</code> with the error:</p>
  
  <p><code>cannot use "LATEST" (type string) as type *string in field value</code></p>
  
  <p>For me, is not obvious what is happening. My code:</p>
  
  <pre><code>  _ := svc.RunTaskRequest(&amp;ecs.RunTaskInput{
      LaunchType: "FARGATE",
      // Count:                1,
      PlatformVersion: "LATEST",
      // NetworkConfiguration: ecs.NetworkConfiguration{
      // AwsvpcConfiguration: ecs.AwsvpcConfiguration{
      //  Subnets:        []string{},
      //  AssignPublicIp: "ENABLED",
      // },
      // },
    })
  </code></pre>
  
  <p>The <code>LaunchType</code> and <code>PlatformVersion</code> has the same types, but one will work, and other won't.</p>
  
  <p>To be honest, the same thing is happening with <code>Count</code>:</p>
  
  <pre><code>cannot use 1 (type int) as type *int64 in field value
  </code></pre>
  
  <p>What should I do to fix the problems? Thank you.</p>