{
  "version": "1.0",
  "resources": {
    "Repository": {
      "operation": "DescribeRepositories",
      "resourceIdentifier": {
        "registryId": "repositories[].registryId",
        "repositoryName": "repositories[].repositoryName",
        "repositoryArn": "repositories[].repositoryArn"
      }
    },
    "PullThroughCacheRule": {
      "operation": "DescribePullThroughCacheRules",
      "resourceIdentifier": {
        "ecrRepositoryPrefix": "pullThroughCacheRules[].ecrRepositoryPrefix"
      }
    },
    "RepositoryCreationTemplate": {
      "operation": "DescribeRepositoryCreationTemplates",
      "resourceIdentifier": {
        "prefix": "repositoryCreationTemplates[].prefix"
      }
    }
  },
  "operations": {
    "BatchCheckLayerAvailability": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "BatchDeleteImage": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "BatchGetImage": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "CompleteLayerUpload": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "DeleteLifecyclePolicy": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "DeleteRepository": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "DeleteRepositoryPolicy": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "DescribeImages": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "DescribeRepositories": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryNames": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "GetAuthorizationToken": {
      "registryIds": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      }
    },
    "GetDownloadUrlForLayer": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "GetLifecyclePolicy": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "GetLifecyclePolicyPreview": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "GetRepositoryPolicy": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "InitiateLayerUpload": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "ListImages": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "PutImage": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "PutLifecyclePolicy": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "SetRepositoryPolicy": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "StartLifecyclePolicyPreview": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "UploadLayerPart": {
      "registryId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "registryId"
          }
        ]
      },
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "BatchGetRepositoryScanningConfiguration": {
      "repositoryNames": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "DeletePullThroughCacheRule": {
      "ecrRepositoryPrefix": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "PullThroughCacheRule",
            "resourceIdentifier": "ecrRepositoryPrefix"
          }
        ]
      }
    },
    "DeleteRepositoryCreationTemplate": {
      "prefix": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "RepositoryCreationTemplate",
            "resourceIdentifier": "prefix"
          }
        ]
      }
    },
    "DescribeImageReplicationStatus": {
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "DescribeImageScanFindings": {
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "DescribeImageSigningStatus": {
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "DescribePullThroughCacheRules": {
      "ecrRepositoryPrefixes": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "PullThroughCacheRule",
            "resourceIdentifier": "ecrRepositoryPrefix"
          }
        ]
      }
    },
    "DescribeRepositoryCreationTemplates": {
      "prefixes": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "RepositoryCreationTemplate",
            "resourceIdentifier": "prefix"
          }
        ]
      }
    },
    "ListImageReferrers": {
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "ListTagsForResource": {
      "resourceArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryArn"
          }
        ]
      }
    },
    "PutImageScanningConfiguration": {
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "PutImageTagMutability": {
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "StartImageScan": {
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "TagResource": {
      "resourceArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryArn"
          }
        ]
      }
    },
    "UntagResource": {
      "resourceArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryArn"
          }
        ]
      }
    },
    "UpdateImageStorageClass": {
      "repositoryName": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Repository",
            "resourceIdentifier": "repositoryName"
          }
        ]
      }
    },
    "UpdatePullThroughCacheRule": {
      "ecrRepositoryPrefix": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "PullThroughCacheRule",
            "resourceIdentifier": "ecrRepositoryPrefix"
          }
        ]
      }
    },
    "UpdateRepositoryCreationTemplate": {
      "prefix": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "RepositoryCreationTemplate",
            "resourceIdentifier": "prefix"
          }
        ]
      }
    },
    "ValidatePullThroughCacheRule": {
      "ecrRepositoryPrefix": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "PullThroughCacheRule",
            "resourceIdentifier": "ecrRepositoryPrefix"
          }
        ]
      }
    }
  }
}
