AWSTemplateFormatVersion: '2010-09-09' Description: AWS CodeArtifact resources for node Resources: # Create Domain ExampleDomain: Type: AWS::CodeArtifact::Domain Properties: DomainName: example-domain PermissionsPolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: AWS: - !Sub arn:aws:iam::${AWS::AccountId}:root Resource: "*" Action: - codeartifact:CreateRepository - codeartifact:DescribeDomain - codeartifact:GetAuthorizationToken - codeartifact:GetDomainPermissionsPolicy - codeartifact:ListRepositoriesInDomain # Create External Repository MyExternalRepository: Type: AWS::CodeArtifact::Repository Properties: DomainName: !GetAtt ExampleDomain.Name RepositoryName: my-external-repository ExternalConnections: - public:npmjs PermissionsPolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: AWS: - !Sub arn:aws:iam::${AWS::AccountId}:root Resource: "*" Action: - codeartifact:DescribePackageVersion - codeartifact:DescribeRepository - codeartifact:GetPackageVersionReadme - codeartifact:GetRepositoryEndpoint - codeartifact:ListPackageVersionAssets - codeartifact:ListPackageVersionDependencies - codeartifact:ListPackageVersions - codeartifact:ListPackages - codeartifact:PublishPackageVersion - codeartifact:PutPackageMetadata - codeartifact:ReadFromRepository # Create Repository MyTeamRepository: Type: AWS::CodeArtifact::Repository Properties: DomainName: !GetAtt ExampleDomain.Name RepositoryName: my-team-repository Upstreams: - !GetAtt MyExternalRepository.Name PermissionsPolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: AWS: - !Sub arn:aws:iam::${AWS::AccountId}:root Resource: "*" Action: - codeartifact:DescribePackageVersion - codeartifact:DescribeRepository - codeartifact:GetPackageVersionReadme - codeartifact:GetRepositoryEndpoint - codeartifact:ListPackageVersionAssets - codeartifact:ListPackageVersionDependencies - codeartifact:ListPackageVersions - codeartifact:ListPackages - codeartifact:PublishPackageVersion - codeartifact:PutPackageMetadata - codeartifact:ReadFromRepository