Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AppRunner DescribeService should return ServiceUrl when IsPubliclyAccessible = false #4635

Open
sgrilux opened this issue Nov 23, 2022 · 3 comments
Assignees
Labels
bug This issue is a bug. investigating This issue is being investigated and/or work is in progress to resolve the issue. p2 This is a standard priority issue

Comments

@sgrilux
Copy link

sgrilux commented Nov 23, 2022

Describe the bug

This issue arose while using aws terraform provider v.4.40.0. But digging more it looks the problem is how the API returns the response calling DescribeService and only if IsPubliclyAccessible = false.

As per documentation the response should return ServiceUrl however it doesn't.

This is the output from one of AppRunner services I've deployed.

{
    "Service": {
        "ServiceName": "my-service-name",
        "ServiceId": "XXXXXXXXXXXXXXXXXXXXXX",
        "ServiceArn": "arn:aws:apprunner:eu-west-1:123456789012:service/my-service-name/XXXXXXXXXXXXXXXXXXXXXX",
        "CreatedAt": 1669040555.0,
        "UpdatedAt": 1669040555.0,
        "Status": "RUNNING",
        "SourceConfiguration": {
            "ImageRepository": {
                "ImageIdentifier": "123456789012.dkr.ecr.eu-west-1.amazonaws.com/my-image:latest",
                "ImageConfiguration": {
                    "Port": "8000"
                },
                "ImageRepositoryType": "ECR"
            },
            "AutoDeploymentsEnabled": false,
            "AuthenticationConfiguration": {
                "AccessRoleArn": "arn:aws:iam::123456789012:role/MyAppRunnerBuildRole"
            }
        },
        "InstanceConfiguration": {
            "Cpu": "2048",
            "Memory": "4096",
            "InstanceRoleArn": "arn:aws:iam::123456789012:role/MyAppRunnerInstanceRole"
        },
        "HealthCheckConfiguration": {
            "Protocol": "HTTP",
            "Path": "/api/ping",
            "Interval": 5,
            "Timeout": 2,
            "HealthyThreshold": 1,
            "UnhealthyThreshold": 5
        },
        "AutoScalingConfigurationSummary": {
            "AutoScalingConfigurationArn": "arn:aws:apprunner:eu-west-1:123456789012:autoscalingconfiguration/MyAutoScalingConfiguration/1/YYYYYYYYYYYYYYYYYYYY",
            "AutoScalingConfigurationName": "MyAutoScalingConfiguration",
            "AutoScalingConfigurationRevision": 1
        },
        "NetworkConfiguration": {
            "EgressConfiguration": {
                "EgressType": "DEFAULT"
            },
            "IngressConfiguration": {
                "IsPubliclyAccessible": false
            }
        }
    }
}

Not sure if this is supposed to happen or not, but the console returns the Url even if the service is not publicly accessible.

Is this something that can be done here or it's a bug in the APIs?

Expected Behavior

I'm expecting to get the ServiceUrl even if the Service is not publicly accessible.

Current Behavior

DescribeService does not return ServiceUrl if the service is deployed with a VPC interface endpoint to be accessible only within the VPC.

Reproduction Steps

  1. Run aws apprunner describe-service --service-arn <service_arn> for a service which has been deployed accepting traffic from the VPC only though the interface endpoint.
  2. It doesn't return the ServiceUrl
  3. Go to the console. For the same service it shows the proper URL.

Possible Solution

No response

Additional Information/Context

No response

SDK version used

v1.44.141

Environment details (Version of Go (go version)? OS name and version, etc.)

go 1.11

@ajredniwja
Copy link
Member

Hey @sgrilux thanks for opening this issue, the docs mention here the serviceUrl to be not required seems to be the same in API models as well. I will check the httpResponse when using the go SDK if 'serviceUrl returned by the service.

@ajredniwja ajredniwja added investigating This issue is being investigated and/or work is in progress to resolve the issue. and removed needs-triage This issue or PR still needs to be triaged. labels Dec 5, 2022
@karan-uppal
Copy link

Hi @ajredniwja @sgrilux Any idea, if this issue has been resolved in any version of terraform?

@carlduevel
Copy link

Hi @karan-uppal,

no. There is an issue on the aws provider for this.

@RanVaknin RanVaknin added the p2 This is a standard priority issue label Mar 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue is a bug. investigating This issue is being investigated and/or work is in progress to resolve the issue. p2 This is a standard priority issue
Projects
None yet
Development

No branches or pull requests

5 participants