Define the product


What are we going to do?

We are going to perform the following steps:

  • create a portfolio file
  • define a product
  • define a version for our product
  • commit our portfolio file
  • verify the framework has create an AWS CodePipeline for our product version

Step by step guide

Here are the steps you need to follow to “Define the product”

Create the portfolio file

We need to tell the framework that a product exists. We do that by creating a portfolio file and by describing the products details there.

Here is how we do this:

  • Copy the following snippet into the main input field:

    Schema: factory-2019-04-01
    Products:
      - Name: "aws-config-enable-config"
        Owner: "data-governance@example.com"
        Description: "Enables AWS Config"
        Distributor: "cloud-engineering"
        SupportDescription: "Speak to data-governance@example.com about exceptions and speak to cloud-engineering@example.com about implementation issues"
        SupportEmail: "cloud-engineering@example.com"
        SupportUrl: "https://wiki.example.com/cloud-engineering/governance/aws-config-enable-config"
        Tags:
          - Key: "type"
            Value: "governance"
          - Key: "creator"
            Value: "cloud-engineering"
          - Key: "cost-center"
            Value: "cloud-engineering"
       
    
  • Set the File name to portfolios/reinvent.yaml

  • Set your Author name

  • Set your Email address

  • Set your Commit message

Using a good / unique commit message will help you understand what is going on later.

  • Click the Commit changes button:

We have just told the framework there is a product named aws-config-enable-config. This product has no versions and so it will not appear in AWS Service Catalog yet.

Create the version

We now need to tell the framework we want to create a new version of our product.

  • Click on reinvent.yaml
  • Click Edit
  • Add the following to the end of the file (be careful with your indentation):

        Versions:
          - Name: "v1"
            Description: "v1 of aws-config-enable-config"
            Active: True
            Source:
              Provider: "CodeCommit"
              Configuration:
                RepositoryName: "aws-config-enable-config"
                BranchName: "main"
       
    
  • Verify the contents of your file matches this:

    Schema: factory-2019-04-01
    Products:
      - Name: "aws-config-enable-config"
        Owner: "data-governance@example.com"
        Description: "Enables AWS Config"
        Distributor: "cloud-engineering"
        SupportDescription: "Speak to data-governance@example.com about exceptions and speak to cloud-engineering@example.com about implementation issues"
        SupportEmail: "cloud-engineering@example.com"
        SupportUrl: "https://wiki.example.com/cloud-engineering/governance/aws-config-enable-config"
        Tags:
          - Key: "type"
            Value: "governance"
          - Key: "creator"
            Value: "cloud-engineering"
          - Key: "cost-center"
            Value: "cloud-engineering"
        Versions:
          - Name: "v1"
            Description: "v1 of aws-config-enable-config"
            Active: True
            Source:
              Provider: "CodeCommit"
              Configuration:
                RepositoryName: "aws-config-enable-config"
                BranchName: "main"
       
    

Once you have updated the file fill in the fields for Author name, Email address, Commit message and hit Commit changes

Using a good / unique commit message will help you understand what is going on later.

Verify the version was created

Once you have made your changes the ServiceCatalogFactory Pipeline should have run or if you were quick may still be running. If it has not yet started feel free to the hit the Release change button.

Once it has completed it should show the Source and Build stages in green to indicate they have completed successfully:

You should see your commit message on this screen, it will help you know which version of ServiceCatalogFactory repo the pipeline is processing.

Now that your ServiceCatalogFactory pipeline has completed you can view the newly created pipeline: aws-config-enable-config-v1-pipeline

You can safely ignore the aws-config-enable-config-v1-pipeline has failed warning. For the pipeline to succeed, we need to add the source code for it to work which we will do in the next step.