{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2017-11-01",
    "endpointPrefix": "eks",
    "jsonVersion": "1.1",
    "protocol": "rest-json",
    "serviceAbbreviation": "Amazon EKS",
    "serviceFullName": "Amazon Elastic Kubernetes Service",
    "serviceId": "EKS",
    "signatureVersion": "v4",
    "signingName": "eks",
    "uid": "eks-2017-11-01"
  },
  "operations": {
    "CreateCluster": {
      "http": {
        "requestUri": "/clusters"
      },
      "input": {
        "type": "structure",
        "required": [
          "name",
          "roleArn",
          "resourcesVpcConfig"
        ],
        "members": {
          "name": {},
          "version": {},
          "roleArn": {},
          "resourcesVpcConfig": {
            "shape": "S4"
          },
          "kubernetesNetworkConfig": {
            "type": "structure",
            "members": {
              "serviceIpv4Cidr": {}
            }
          },
          "logging": {
            "shape": "S8"
          },
          "clientRequestToken": {
            "idempotencyToken": true
          },
          "tags": {
            "shape": "Sd"
          },
          "encryptionConfig": {
            "shape": "Sg"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "cluster": {
            "shape": "Sk"
          }
        }
      }
    },
    "CreateFargateProfile": {
      "http": {
        "requestUri": "/clusters/{name}/fargate-profiles"
      },
      "input": {
        "type": "structure",
        "required": [
          "fargateProfileName",
          "clusterName",
          "podExecutionRoleArn"
        ],
        "members": {
          "fargateProfileName": {},
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "podExecutionRoleArn": {},
          "subnets": {
            "shape": "S5"
          },
          "selectors": {
            "shape": "Su"
          },
          "clientRequestToken": {
            "idempotencyToken": true
          },
          "tags": {
            "shape": "Sd"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "fargateProfile": {
            "shape": "Sy"
          }
        }
      }
    },
    "CreateNodegroup": {
      "http": {
        "requestUri": "/clusters/{name}/node-groups"
      },
      "input": {
        "type": "structure",
        "required": [
          "clusterName",
          "nodegroupName",
          "subnets",
          "nodeRole"
        ],
        "members": {
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "nodegroupName": {},
          "scalingConfig": {
            "shape": "S11"
          },
          "diskSize": {
            "type": "integer"
          },
          "subnets": {
            "shape": "S5"
          },
          "instanceTypes": {
            "shape": "S5"
          },
          "amiType": {},
          "remoteAccess": {
            "shape": "S15"
          },
          "nodeRole": {},
          "labels": {
            "shape": "S16"
          },
          "tags": {
            "shape": "Sd"
          },
          "clientRequestToken": {
            "idempotencyToken": true
          },
          "launchTemplate": {
            "shape": "S19"
          },
          "version": {},
          "releaseVersion": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "nodegroup": {
            "shape": "S1b"
          }
        }
      }
    },
    "DeleteCluster": {
      "http": {
        "method": "DELETE",
        "requestUri": "/clusters/{name}"
      },
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {
            "location": "uri",
            "locationName": "name"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "cluster": {
            "shape": "Sk"
          }
        }
      }
    },
    "DeleteFargateProfile": {
      "http": {
        "method": "DELETE",
        "requestUri": "/clusters/{name}/fargate-profiles/{fargateProfileName}"
      },
      "input": {
        "type": "structure",
        "required": [
          "clusterName",
          "fargateProfileName"
        ],
        "members": {
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "fargateProfileName": {
            "location": "uri",
            "locationName": "fargateProfileName"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "fargateProfile": {
            "shape": "Sy"
          }
        }
      }
    },
    "DeleteNodegroup": {
      "http": {
        "method": "DELETE",
        "requestUri": "/clusters/{name}/node-groups/{nodegroupName}"
      },
      "input": {
        "type": "structure",
        "required": [
          "clusterName",
          "nodegroupName"
        ],
        "members": {
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "nodegroupName": {
            "location": "uri",
            "locationName": "nodegroupName"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "nodegroup": {
            "shape": "S1b"
          }
        }
      }
    },
    "DescribeCluster": {
      "http": {
        "method": "GET",
        "requestUri": "/clusters/{name}"
      },
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {
            "location": "uri",
            "locationName": "name"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "cluster": {
            "shape": "Sk"
          }
        }
      }
    },
    "DescribeFargateProfile": {
      "http": {
        "method": "GET",
        "requestUri": "/clusters/{name}/fargate-profiles/{fargateProfileName}"
      },
      "input": {
        "type": "structure",
        "required": [
          "clusterName",
          "fargateProfileName"
        ],
        "members": {
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "fargateProfileName": {
            "location": "uri",
            "locationName": "fargateProfileName"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "fargateProfile": {
            "shape": "Sy"
          }
        }
      }
    },
    "DescribeNodegroup": {
      "http": {
        "method": "GET",
        "requestUri": "/clusters/{name}/node-groups/{nodegroupName}"
      },
      "input": {
        "type": "structure",
        "required": [
          "clusterName",
          "nodegroupName"
        ],
        "members": {
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "nodegroupName": {
            "location": "uri",
            "locationName": "nodegroupName"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "nodegroup": {
            "shape": "S1b"
          }
        }
      }
    },
    "DescribeUpdate": {
      "http": {
        "method": "GET",
        "requestUri": "/clusters/{name}/updates/{updateId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "name",
          "updateId"
        ],
        "members": {
          "name": {
            "location": "uri",
            "locationName": "name"
          },
          "updateId": {
            "location": "uri",
            "locationName": "updateId"
          },
          "nodegroupName": {
            "location": "querystring",
            "locationName": "nodegroupName"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "update": {
            "shape": "S1y"
          }
        }
      }
    },
    "ListClusters": {
      "http": {
        "method": "GET",
        "requestUri": "/clusters"
      },
      "input": {
        "type": "structure",
        "members": {
          "maxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "nextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "clusters": {
            "shape": "S5"
          },
          "nextToken": {}
        }
      }
    },
    "ListFargateProfiles": {
      "http": {
        "method": "GET",
        "requestUri": "/clusters/{name}/fargate-profiles"
      },
      "input": {
        "type": "structure",
        "required": [
          "clusterName"
        ],
        "members": {
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "maxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "nextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "fargateProfileNames": {
            "shape": "S5"
          },
          "nextToken": {}
        }
      }
    },
    "ListNodegroups": {
      "http": {
        "method": "GET",
        "requestUri": "/clusters/{name}/node-groups"
      },
      "input": {
        "type": "structure",
        "required": [
          "clusterName"
        ],
        "members": {
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "maxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "nextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "nodegroups": {
            "shape": "S5"
          },
          "nextToken": {}
        }
      }
    },
    "ListTagsForResource": {
      "http": {
        "method": "GET",
        "requestUri": "/tags/{resourceArn}"
      },
      "input": {
        "type": "structure",
        "required": [
          "resourceArn"
        ],
        "members": {
          "resourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "tags": {
            "shape": "Sd"
          }
        }
      }
    },
    "ListUpdates": {
      "http": {
        "method": "GET",
        "requestUri": "/clusters/{name}/updates"
      },
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {
            "location": "uri",
            "locationName": "name"
          },
          "nodegroupName": {
            "location": "querystring",
            "locationName": "nodegroupName"
          },
          "nextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "maxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "updateIds": {
            "shape": "S5"
          },
          "nextToken": {}
        }
      }
    },
    "TagResource": {
      "http": {
        "requestUri": "/tags/{resourceArn}"
      },
      "input": {
        "type": "structure",
        "required": [
          "resourceArn",
          "tags"
        ],
        "members": {
          "resourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "tags": {
            "shape": "Sd"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UntagResource": {
      "http": {
        "method": "DELETE",
        "requestUri": "/tags/{resourceArn}"
      },
      "input": {
        "type": "structure",
        "required": [
          "resourceArn",
          "tagKeys"
        ],
        "members": {
          "resourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "tagKeys": {
            "location": "querystring",
            "locationName": "tagKeys",
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateClusterConfig": {
      "http": {
        "requestUri": "/clusters/{name}/update-config"
      },
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {
            "location": "uri",
            "locationName": "name"
          },
          "resourcesVpcConfig": {
            "shape": "S4"
          },
          "logging": {
            "shape": "S8"
          },
          "clientRequestToken": {
            "idempotencyToken": true
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "update": {
            "shape": "S1y"
          }
        }
      }
    },
    "UpdateClusterVersion": {
      "http": {
        "requestUri": "/clusters/{name}/updates"
      },
      "input": {
        "type": "structure",
        "required": [
          "name",
          "version"
        ],
        "members": {
          "name": {
            "location": "uri",
            "locationName": "name"
          },
          "version": {},
          "clientRequestToken": {
            "idempotencyToken": true
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "update": {
            "shape": "S1y"
          }
        }
      }
    },
    "UpdateNodegroupConfig": {
      "http": {
        "requestUri": "/clusters/{name}/node-groups/{nodegroupName}/update-config"
      },
      "input": {
        "type": "structure",
        "required": [
          "clusterName",
          "nodegroupName"
        ],
        "members": {
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "nodegroupName": {
            "location": "uri",
            "locationName": "nodegroupName"
          },
          "labels": {
            "type": "structure",
            "members": {
              "addOrUpdateLabels": {
                "shape": "S16"
              },
              "removeLabels": {
                "type": "list",
                "member": {}
              }
            }
          },
          "scalingConfig": {
            "shape": "S11"
          },
          "clientRequestToken": {
            "idempotencyToken": true
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "update": {
            "shape": "S1y"
          }
        }
      }
    },
    "UpdateNodegroupVersion": {
      "http": {
        "requestUri": "/clusters/{name}/node-groups/{nodegroupName}/update-version"
      },
      "input": {
        "type": "structure",
        "required": [
          "clusterName",
          "nodegroupName"
        ],
        "members": {
          "clusterName": {
            "location": "uri",
            "locationName": "name"
          },
          "nodegroupName": {
            "location": "uri",
            "locationName": "nodegroupName"
          },
          "version": {},
          "releaseVersion": {},
          "launchTemplate": {
            "shape": "S19"
          },
          "force": {
            "type": "boolean"
          },
          "clientRequestToken": {
            "idempotencyToken": true
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "update": {
            "shape": "S1y"
          }
        }
      }
    }
  },
  "shapes": {
    "S4": {
      "type": "structure",
      "members": {
        "subnetIds": {
          "shape": "S5"
        },
        "securityGroupIds": {
          "shape": "S5"
        },
        "endpointPublicAccess": {
          "type": "boolean"
        },
        "endpointPrivateAccess": {
          "type": "boolean"
        },
        "publicAccessCidrs": {
          "shape": "S5"
        }
      }
    },
    "S5": {
      "type": "list",
      "member": {}
    },
    "S8": {
      "type": "structure",
      "members": {
        "clusterLogging": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "types": {
                "type": "list",
                "member": {}
              },
              "enabled": {
                "type": "boolean"
              }
            }
          }
        }
      }
    },
    "Sd": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "Sg": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "resources": {
            "shape": "S5"
          },
          "provider": {
            "type": "structure",
            "members": {
              "keyArn": {}
            }
          }
        }
      }
    },
    "Sk": {
      "type": "structure",
      "members": {
        "name": {},
        "arn": {},
        "createdAt": {
          "type": "timestamp"
        },
        "version": {},
        "endpoint": {},
        "roleArn": {},
        "resourcesVpcConfig": {
          "type": "structure",
          "members": {
            "subnetIds": {
              "shape": "S5"
            },
            "securityGroupIds": {
              "shape": "S5"
            },
            "clusterSecurityGroupId": {},
            "vpcId": {},
            "endpointPublicAccess": {
              "type": "boolean"
            },
            "endpointPrivateAccess": {
              "type": "boolean"
            },
            "publicAccessCidrs": {
              "shape": "S5"
            }
          }
        },
        "kubernetesNetworkConfig": {
          "type": "structure",
          "members": {
            "serviceIpv4Cidr": {}
          }
        },
        "logging": {
          "shape": "S8"
        },
        "identity": {
          "type": "structure",
          "members": {
            "oidc": {
              "type": "structure",
              "members": {
                "issuer": {}
              }
            }
          }
        },
        "status": {},
        "certificateAuthority": {
          "type": "structure",
          "members": {
            "data": {}
          }
        },
        "clientRequestToken": {},
        "platformVersion": {},
        "tags": {
          "shape": "Sd"
        },
        "encryptionConfig": {
          "shape": "Sg"
        }
      }
    },
    "Su": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "namespace": {},
          "labels": {
            "type": "map",
            "key": {},
            "value": {}
          }
        }
      }
    },
    "Sy": {
      "type": "structure",
      "members": {
        "fargateProfileName": {},
        "fargateProfileArn": {},
        "clusterName": {},
        "createdAt": {
          "type": "timestamp"
        },
        "podExecutionRoleArn": {},
        "subnets": {
          "shape": "S5"
        },
        "selectors": {
          "shape": "Su"
        },
        "status": {},
        "tags": {
          "shape": "Sd"
        }
      }
    },
    "S11": {
      "type": "structure",
      "members": {
        "minSize": {
          "type": "integer"
        },
        "maxSize": {
          "type": "integer"
        },
        "desiredSize": {
          "type": "integer"
        }
      }
    },
    "S15": {
      "type": "structure",
      "members": {
        "ec2SshKey": {},
        "sourceSecurityGroups": {
          "shape": "S5"
        }
      }
    },
    "S16": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S19": {
      "type": "structure",
      "members": {
        "name": {},
        "version": {},
        "id": {}
      }
    },
    "S1b": {
      "type": "structure",
      "members": {
        "nodegroupName": {},
        "nodegroupArn": {},
        "clusterName": {},
        "version": {},
        "releaseVersion": {},
        "createdAt": {
          "type": "timestamp"
        },
        "modifiedAt": {
          "type": "timestamp"
        },
        "status": {},
        "scalingConfig": {
          "shape": "S11"
        },
        "instanceTypes": {
          "shape": "S5"
        },
        "subnets": {
          "shape": "S5"
        },
        "remoteAccess": {
          "shape": "S15"
        },
        "amiType": {},
        "nodeRole": {},
        "labels": {
          "shape": "S16"
        },
        "resources": {
          "type": "structure",
          "members": {
            "autoScalingGroups": {
              "type": "list",
              "member": {
                "type": "structure",
                "members": {
                  "name": {}
                }
              }
            },
            "remoteAccessSecurityGroup": {}
          }
        },
        "diskSize": {
          "type": "integer"
        },
        "health": {
          "type": "structure",
          "members": {
            "issues": {
              "type": "list",
              "member": {
                "type": "structure",
                "members": {
                  "code": {},
                  "message": {},
                  "resourceIds": {
                    "shape": "S5"
                  }
                }
              }
            }
          }
        },
        "launchTemplate": {
          "shape": "S19"
        },
        "tags": {
          "shape": "Sd"
        }
      }
    },
    "S1y": {
      "type": "structure",
      "members": {
        "id": {},
        "status": {},
        "type": {},
        "params": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "type": {},
              "value": {}
            }
          }
        },
        "createdAt": {
          "type": "timestamp"
        },
        "errors": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "errorCode": {},
              "errorMessage": {},
              "resourceIds": {
                "shape": "S5"
              }
            }
          }
        }
      }
    }
  }
}